devject-design 0.2.1 → 0.2.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.
Files changed (86) hide show
  1. package/README.md +7 -5
  2. package/dist/devject/devject-design/src/core/builtin/components/checkbox.d.ts +1 -0
  3. package/dist/devject/devject-design/src/core/builtin/components/collapse.d.ts +1 -0
  4. package/dist/devject/devject-design/src/core/builtin/components/fileUpload.d.ts +1 -0
  5. package/dist/devject/devject-design/src/core/builtin/components/flexRow.d.ts +1 -0
  6. package/dist/devject/devject-design/src/core/builtin/components/imageUpload.d.ts +1 -0
  7. package/dist/devject/devject-design/src/core/builtin/components/input.d.ts +1 -0
  8. package/dist/devject/devject-design/src/core/builtin/components/radio.d.ts +1 -0
  9. package/dist/devject/devject-design/src/core/builtin/components/select.d.ts +1 -0
  10. package/dist/devject/devject-design/src/core/builtin/components/staticTable.d.ts +1 -0
  11. package/dist/devject/devject-design/src/core/builtin/components/switch.d.ts +1 -0
  12. package/dist/devject/devject-design/src/core/builtin/components/table.d.ts +1 -0
  13. package/dist/devject/devject-design/src/core/builtin/components/tabs.d.ts +1 -0
  14. package/dist/devject/devject-design/src/core/builtin/components/textarea.d.ts +1 -0
  15. package/dist/devject/devject-design/src/core/builtin/components/title.d.ts +1 -0
  16. package/dist/devject/devject-design/src/core/builtin/components/tree.d.ts +1 -0
  17. package/dist/devject/devject-design/src/core/builtin/utils.d.ts +13 -0
  18. package/dist/{core → devject/devject-design/src/core}/registry.d.ts +1 -1
  19. package/dist/devject/devject-design/src/index.d.ts +12 -0
  20. package/dist/devject/devject-design/src/pages/FormDesigner.d.ts +35 -0
  21. package/dist/{ui → devject/devject-design/src/ui}/DropLine.d.ts +1 -1
  22. package/dist/{ui → devject/devject-design/src/ui}/NodeCard.d.ts +1 -1
  23. package/dist/{ui → devject/devject-design/src/ui}/PaletteItem.d.ts +2 -2
  24. package/dist/{ui → devject/devject-design/src/ui}/PreviewDialog.d.ts +3 -3
  25. package/dist/{ui → devject/devject-design/src/ui}/components/Checkbox.d.ts +1 -1
  26. package/dist/{ui → devject/devject-design/src/ui}/components/Collapse.d.ts +1 -1
  27. package/dist/{ui → devject/devject-design/src/ui}/components/FileUpload.d.ts +1 -1
  28. package/dist/{ui → devject/devject-design/src/ui}/components/FlexRow.d.ts +1 -1
  29. package/dist/{ui → devject/devject-design/src/ui}/components/ImageUpload.d.ts +1 -1
  30. package/dist/{ui → devject/devject-design/src/ui}/components/Input.d.ts +1 -1
  31. package/dist/{ui → devject/devject-design/src/ui}/components/Radio.d.ts +1 -1
  32. package/dist/{ui → devject/devject-design/src/ui}/components/Select.d.ts +1 -1
  33. package/dist/devject/devject-design/src/ui/components/StaticTable.d.ts +7 -0
  34. package/dist/{ui → devject/devject-design/src/ui}/components/Switch.d.ts +1 -1
  35. package/dist/{ui → devject/devject-design/src/ui}/components/Table.d.ts +1 -1
  36. package/dist/{ui → devject/devject-design/src/ui}/components/Tabs.d.ts +1 -1
  37. package/dist/{ui → devject/devject-design/src/ui}/components/Textarea.d.ts +1 -1
  38. package/dist/{ui → devject/devject-design/src/ui}/components/Title.d.ts +1 -1
  39. package/dist/devject/devject-design/src/ui/components/Tree.d.ts +13 -0
  40. package/dist/devject/devject-design/src/ui/designer/DesignerDialogs.d.ts +9 -0
  41. package/dist/devject/devject-design/src/ui/designer/DesignerToolbar.d.ts +15 -0
  42. package/dist/{ui → devject/devject-design/src/ui}/editors/TableColumnsEditor.d.ts +3 -1
  43. package/dist/{ui/components/Tree.d.ts → devject/devject-design/src/ui/node-renderers/CollapseRenderer.d.ts} +1 -2
  44. package/dist/{ui/components/StaticTable.d.ts → devject/devject-design/src/ui/node-renderers/FieldRenderer.d.ts} +1 -2
  45. package/dist/devject/devject-design/src/ui/node-renderers/FlexRowRenderer.d.ts +6 -0
  46. package/dist/devject/devject-design/src/ui/node-renderers/StaticTableRenderer.d.ts +6 -0
  47. package/dist/devject/devject-design/src/ui/node-renderers/TableRenderer.d.ts +6 -0
  48. package/dist/devject/devject-design/src/ui/node-renderers/TabsRenderer.d.ts +6 -0
  49. package/dist/{ui → devject/devject-design/src/ui}/preview/FormRenderer.d.ts +1 -1
  50. package/dist/{ui → devject/devject-design/src/ui}/preview/RenderNode.d.ts +1 -1
  51. package/dist/{ui → devject/devject-design/src/ui}/state/designerState.d.ts +7 -7
  52. package/dist/{ui → devject/devject-design/src/ui}/state/dragState.d.ts +1 -1
  53. package/dist/{ui → devject/devject-design/src/ui}/state/schemaOps.d.ts +2 -1
  54. package/dist/{ui → devject/devject-design/src/ui}/state/storage.d.ts +1 -1
  55. package/dist/devject/devject-design/src/ui/state/upload.d.ts +1 -0
  56. package/dist/{ui → devject/devject-design/src/ui}/state/useDragLogic.d.ts +3 -2
  57. package/dist/{ui → devject/devject-design/src/ui}/state/validator.d.ts +10 -1
  58. package/dist/index.d.ts +1 -12
  59. package/dist/index.es.js +6901 -6587
  60. package/dist/index.umd.js +13 -13
  61. package/dist/style.css +1 -1
  62. package/package.json +48 -46
  63. package/dist/core/builtin/advanced.d.ts +0 -1
  64. package/dist/core/builtin/basics.d.ts +0 -1
  65. package/dist/core/builtin/containers.d.ts +0 -1
  66. package/dist/core/builtin/utils.d.ts +0 -9
  67. package/dist/pages/FormDesigner.d.ts +0 -17
  68. package/dist/ui/hooks/useValidator.d.ts +0 -4
  69. /package/dist/{App.d.ts → devject/devject-design/src/App.d.ts} +0 -0
  70. /package/dist/{core → devject/devject-design/src/core}/builtin/editors.d.ts +0 -0
  71. /package/dist/{core → devject/devject-design/src/core}/builtin/index.d.ts +0 -0
  72. /package/dist/{core → devject/devject-design/src/core}/editors.d.ts +0 -0
  73. /package/dist/{main.d.ts → devject/devject-design/src/main.d.ts} +0 -0
  74. /package/dist/{ui → devject/devject-design/src/ui}/Canvas.d.ts +0 -0
  75. /package/dist/{ui → devject/devject-design/src/ui}/Palette.d.ts +0 -0
  76. /package/dist/{ui → devject/devject-design/src/ui}/PropertiesPanel.d.ts +0 -0
  77. /package/dist/{ui → devject/devject-design/src/ui}/editors/CollapseEditor.d.ts +0 -0
  78. /package/dist/{ui → devject/devject-design/src/ui}/editors/ExcelIOEditor.d.ts +0 -0
  79. /package/dist/{ui → devject/devject-design/src/ui}/editors/FlexLayoutEditor.d.ts +0 -0
  80. /package/dist/{ui → devject/devject-design/src/ui}/editors/JsonDataEditor.d.ts +0 -0
  81. /package/dist/{ui → devject/devject-design/src/ui}/editors/OptionsEditor.d.ts +0 -0
  82. /package/dist/{ui → devject/devject-design/src/ui}/editors/TabsEditor.d.ts +0 -0
  83. /package/dist/{ui → devject/devject-design/src/ui}/state/id.d.ts +0 -0
  84. /package/dist/{ui → devject/devject-design/src/ui}/state/injectionKeys.d.ts +0 -0
  85. /package/dist/{ui → devject/devject-design/src/ui}/state/types.d.ts +0 -0
  86. /package/dist/{ui → devject/devject-design/src/ui}/state/useHotkeys.d.ts +0 -0
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  Devject Design 是一个基于 Vue 3 和 Element Plus 的可视化表单设计器与渲染器组件库。它允许用户通过拖拽方式快速创建表单布局,并支持将设计好的表单导出为 JSON 数据,或直接在应用中渲染。
4
4
 
5
+ > **开源地址**: [https://gitee.com/yoding/devject-design](https://gitee.com/yoding/devject-design)
6
+
5
7
  ## ✨ 特性
6
8
 
7
9
  - ⚡ **基于 Vue 3 + TypeScript**:使用最新的技术栈,提供完整的类型定义。
@@ -49,7 +51,7 @@ npm install xlsx
49
51
  | :--- |:---------------------------------------------| :--- | :--- |
50
52
  | `upload-url` | 文件上传接口地址 | `string` | - |
51
53
  | `download-url` | 文件下载/访问基础路径 | `string` | - |
52
- | `upload-parse` | 上传响应解析路径 (例如 `data.url`,即为response.data.url) | `string` | `data` |
54
+ | `upload-parse` | 上传响应解析路径,支持 `$`、`$.data.url` 这类写法 | `string` | `$` |
53
55
 
54
56
  ### 示例
55
57
 
@@ -59,7 +61,7 @@ npm install xlsx
59
61
  // .env
60
62
  VITE_DEVJECT_UPLOAD_URL=/api/file/upload
61
63
  VITE_DEVJECT_DOWNLOAD_URL=/api/file/download
62
- VITE_DEVJECT_UPLOAD_PARSE=data.url
64
+ VITE_DEVJECT_UPLOAD_PARSE=$.data.url
63
65
  ```
64
66
 
65
67
  ```vue
@@ -76,7 +78,7 @@ import { FormDesigner } from 'devject-design'
76
78
 
77
79
  const uploadUrl = import.meta.env.VITE_DEVJECT_UPLOAD_URL
78
80
  const downloadUrl = import.meta.env.VITE_DEVJECT_DOWNLOAD_URL
79
- const uploadParse = import.meta.env.VITE_DEVJECT_UPLOAD_PARSE
81
+ const uploadParse = import.meta.env.VITE_DEVJECT_UPLOAD_PARSE || '$'
80
82
  </script>
81
83
  ```
82
84
 
@@ -133,7 +135,7 @@ import type { LayoutSchema } from 'devject-design'
133
135
 
134
136
  const uploadUrl = import.meta.env.VITE_DEVJECT_UPLOAD_URL
135
137
  const downloadUrl = import.meta.env.VITE_DEVJECT_DOWNLOAD_URL
136
- const uploadParse = import.meta.env.VITE_DEVJECT_UPLOAD_PARSE
138
+ const uploadParse = import.meta.env.VITE_DEVJECT_UPLOAD_PARSE || '$'
137
139
 
138
140
  // 双向绑定布局数据
139
141
  const layoutSchema = ref<LayoutSchema>()
@@ -188,7 +190,7 @@ import type { LayoutSchema, FormDataModel } from 'devject-design'
188
190
 
189
191
  const uploadUrl = import.meta.env.VITE_DEVJECT_UPLOAD_URL
190
192
  const downloadUrl = import.meta.env.VITE_DEVJECT_DOWNLOAD_URL
191
- const uploadParse = import.meta.env.VITE_DEVJECT_UPLOAD_PARSE
193
+ const uploadParse = import.meta.env.VITE_DEVJECT_UPLOAD_PARSE || '$'
192
194
 
193
195
  const rendererRef = ref()
194
196
  // 表单结构定义
@@ -0,0 +1 @@
1
+ export declare function registerCheckbox(): void;
@@ -0,0 +1 @@
1
+ export declare function registerCollapse(): void;
@@ -0,0 +1 @@
1
+ export declare function registerFileUpload(): void;
@@ -0,0 +1 @@
1
+ export declare function registerFlexRow(): void;
@@ -0,0 +1 @@
1
+ export declare function registerImageUpload(): void;
@@ -0,0 +1 @@
1
+ export declare function registerInput(): void;
@@ -0,0 +1 @@
1
+ export declare function registerRadio(): void;
@@ -0,0 +1 @@
1
+ export declare function registerSelect(): void;
@@ -0,0 +1 @@
1
+ export declare function registerStaticTable(): void;
@@ -0,0 +1 @@
1
+ export declare function registerSwitch(): void;
@@ -0,0 +1 @@
1
+ export declare function registerTable(): void;
@@ -0,0 +1 @@
1
+ export declare function registerTabs(): void;
@@ -0,0 +1 @@
1
+ export declare function registerTextarea(): void;
@@ -0,0 +1 @@
1
+ export declare function registerTitle(): void;
@@ -0,0 +1 @@
1
+ export declare function registerTree(): void;
@@ -0,0 +1,13 @@
1
+ import { Ref } from 'vue';
2
+ import { FormItemRule } from 'element-plus';
3
+ import { PropConfigItem } from '../../../../../devject-design/devject-design/src/core/registry';
4
+ import { SchemaNode, FormDataModel } from '../../../../../devject-design/devject-design/src/ui/state/types';
5
+ export declare function commonFieldConfig(includePlaceholder?: boolean): PropConfigItem[];
6
+ export declare const commonDefault: (label: string, fieldPrefix: string) => {
7
+ label: string;
8
+ field: string;
9
+ placeholder: string;
10
+ required: boolean;
11
+ labelWidth: number;
12
+ };
13
+ export declare function useValidator(nodeSource: SchemaNode | (() => SchemaNode), formData: Ref<FormDataModel>): import('vue').ComputedRef<FormItemRule[]>;
@@ -1,5 +1,5 @@
1
1
  import { Component } from 'vue';
2
- import { SchemaNode } from '../ui/state/types';
2
+ import { SchemaNode } from '../../../../devject-design/devject-design/src/ui/state/types';
3
3
  export interface PropConfigItem {
4
4
  label: string;
5
5
  name: string;
@@ -0,0 +1,12 @@
1
+ import { App, Plugin } from 'vue';
2
+ import { default as FormDesigner } from '../../../devject-design/devject-design/src/pages/FormDesigner';
3
+ import { default as FormRenderer } from '../../../devject-design/devject-design/src/ui/preview/FormRenderer';
4
+ declare const install: (app: App) => void;
5
+ export { FormDesigner, FormRenderer, install };
6
+ export * from '../../../devject-design/devject-design/src/ui/state/types';
7
+ export { registerComponent } from '../../../devject-design/devject-design/src/core/registry';
8
+ export type { ComponentDefinition, DataProcessor } from '../../../devject-design/devject-design/src/core/registry';
9
+ export { registerEditor, getEditor } from '../../../devject-design/devject-design/src/core/editors';
10
+ export { useValidator } from '../../../devject-design/devject-design/src/core/builtin/utils';
11
+ declare const _default: Plugin;
12
+ export default _default;
@@ -0,0 +1,35 @@
1
+ import { LayoutSchema } from '../../../../devject-design/devject-design/src/ui/state/types';
2
+ type __VLS_Props = {
3
+ modelValue?: LayoutSchema;
4
+ uploadUrl?: string;
5
+ downloadUrl?: string;
6
+ uploadParse?: string;
7
+ };
8
+ declare function importLayout(json: any): void;
9
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {
10
+ importLayout: typeof importLayout;
11
+ exportLayout: () => LayoutSchema;
12
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
13
+ "update:modelValue": (v: LayoutSchema) => any;
14
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
15
+ "onUpdate:modelValue"?: ((v: LayoutSchema) => any) | undefined;
16
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
17
+ designerRef: HTMLDivElement;
18
+ dialogsRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {
19
+ openPreview: () => void;
20
+ openExport: () => void;
21
+ openImport: () => void;
22
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
23
+ P: {};
24
+ B: {};
25
+ D: {};
26
+ C: {};
27
+ M: {};
28
+ Defaults: {};
29
+ }, Readonly<{}> & Readonly<{}>, {
30
+ openPreview: () => void;
31
+ openExport: () => void;
32
+ openImport: () => void;
33
+ }, {}, {}, {}, {}> | null;
34
+ }, HTMLDivElement>;
35
+ export default _default;
@@ -1,4 +1,4 @@
1
- import { DropTarget } from './state/types';
1
+ import { DropTarget } from '../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  target: DropTarget;
4
4
  };
@@ -1,4 +1,4 @@
1
- import { SchemaNode } from './state/types';
1
+ import { SchemaNode } from '../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: SchemaNode;
4
4
  };
@@ -1,9 +1,9 @@
1
1
  import { Component } from 'vue';
2
- import { NodeType } from './state/types';
2
+ import { NodeType } from '../../../../devject-design/devject-design/src/ui/state/types';
3
3
  type __VLS_Props = {
4
4
  label: string;
5
5
  nodeType: NodeType;
6
6
  icon?: string | Component;
7
7
  };
8
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
9
9
  export default _default;
@@ -1,4 +1,4 @@
1
- import { FormDataModel } from './state/types';
1
+ import { FormDataModel } from '../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  modelValue: boolean;
4
4
  };
@@ -9,7 +9,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
9
9
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
10
10
  formRef: unknown;
11
11
  rendererRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
12
- schema: import('./state/types').LayoutSchema;
12
+ schema: import('../../../../devject-design/devject-design/src/ui/state/types').LayoutSchema;
13
13
  modelValue: FormDataModel;
14
14
  readonly?: boolean;
15
15
  uploadUrl?: string;
@@ -33,7 +33,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
33
33
  M: {};
34
34
  Defaults: {};
35
35
  }, Readonly<{
36
- schema: import('./state/types').LayoutSchema;
36
+ schema: import('../../../../devject-design/devject-design/src/ui/state/types').LayoutSchema;
37
37
  modelValue: FormDataModel;
38
38
  readonly?: boolean;
39
39
  uploadUrl?: string;
@@ -1,4 +1,4 @@
1
- import { FormDataModel, FieldNode } from '../state/types';
1
+ import { FormDataModel, FieldNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: FieldNode;
4
4
  modelValue: FormDataModel;
@@ -1,4 +1,4 @@
1
- import { FormDataModel, CollapseNode } from '../state/types';
1
+ import { FormDataModel, CollapseNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: CollapseNode;
4
4
  modelValue: FormDataModel;
@@ -1,4 +1,4 @@
1
- import { FormDataModel, FieldNode } from '../state/types';
1
+ import { FormDataModel, FieldNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: FieldNode;
4
4
  modelValue: FormDataModel;
@@ -1,4 +1,4 @@
1
- import { FormDataModel, FlexRowNode } from '../state/types';
1
+ import { FormDataModel, FlexRowNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: FlexRowNode;
4
4
  modelValue: FormDataModel;
@@ -1,4 +1,4 @@
1
- import { FormDataModel, FieldNode } from '../state/types';
1
+ import { FormDataModel, FieldNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: FieldNode;
4
4
  modelValue: FormDataModel;
@@ -1,4 +1,4 @@
1
- import { FormDataModel, FieldNode } from '../state/types';
1
+ import { FormDataModel, FieldNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: FieldNode;
4
4
  modelValue: FormDataModel;
@@ -1,4 +1,4 @@
1
- import { FormDataModel, FieldNode } from '../state/types';
1
+ import { FormDataModel, FieldNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: FieldNode;
4
4
  modelValue: FormDataModel;
@@ -1,4 +1,4 @@
1
- import { FormDataModel, FieldNode } from '../state/types';
1
+ import { FormDataModel, FieldNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: FieldNode;
4
4
  modelValue: FormDataModel;
@@ -0,0 +1,7 @@
1
+ import { SchemaNode, FormDataModel } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
+ type __VLS_Props = {
3
+ node: SchemaNode;
4
+ modelValue?: FormDataModel;
5
+ };
6
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
7
+ export default _default;
@@ -1,4 +1,4 @@
1
- import { FormDataModel, FieldNode } from '../state/types';
1
+ import { FormDataModel, FieldNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: FieldNode;
4
4
  modelValue: FormDataModel;
@@ -1,4 +1,4 @@
1
- import { FormDataModel, TableNode } from '../state/types';
1
+ import { FormDataModel, TableNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: TableNode;
4
4
  modelValue: FormDataModel;
@@ -1,4 +1,4 @@
1
- import { FormDataModel, TabsNode } from '../state/types';
1
+ import { FormDataModel, TabsNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: TabsNode;
4
4
  modelValue: FormDataModel;
@@ -1,4 +1,4 @@
1
- import { FormDataModel, FieldNode } from '../state/types';
1
+ import { FormDataModel, FieldNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: FieldNode;
4
4
  modelValue: FormDataModel;
@@ -1,4 +1,4 @@
1
- import { FormDataModel, TitleNode } from '../state/types';
1
+ import { FormDataModel, TitleNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: TitleNode;
4
4
  modelValue: FormDataModel;
@@ -0,0 +1,13 @@
1
+ import { FieldNode, FormDataModel } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
+ type __VLS_Props = {
3
+ node: FieldNode;
4
+ modelValue: FormDataModel;
5
+ };
6
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
7
+ "update:modelValue": (v: FormDataModel) => any;
8
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ "onUpdate:modelValue"?: ((v: FormDataModel) => any) | undefined;
10
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
11
+ treeRef: unknown;
12
+ }, any>;
13
+ export default _default;
@@ -0,0 +1,9 @@
1
+ declare function openPreview(): void;
2
+ declare function openExport(): void;
3
+ declare function openImport(): void;
4
+ declare const _default: import('vue').DefineComponent<{}, {
5
+ openPreview: typeof openPreview;
6
+ openExport: typeof openExport;
7
+ openImport: typeof openImport;
8
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
9
+ export default _default;
@@ -0,0 +1,15 @@
1
+ type __VLS_Props = {
2
+ isFullscreen?: boolean;
3
+ };
4
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
5
+ "open-import": () => any;
6
+ "open-export": () => any;
7
+ "open-preview": () => any;
8
+ "toggle-fullscreen": () => any;
9
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
10
+ "onOpen-import"?: (() => any) | undefined;
11
+ "onOpen-export"?: (() => any) | undefined;
12
+ "onOpen-preview"?: (() => any) | undefined;
13
+ "onToggle-fullscreen"?: (() => any) | undefined;
14
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
15
+ export default _default;
@@ -6,5 +6,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
6
6
  "update:modelValue": (...args: any[]) => void;
7
7
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
8
8
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
9
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
9
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
10
+ fileInput: HTMLInputElement;
11
+ }, any>;
10
12
  export default _default;
@@ -1,7 +1,6 @@
1
- import { SchemaNode, FormDataModel } from '../state/types';
1
+ import { SchemaNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: SchemaNode;
4
- modelValue?: FormDataModel;
5
4
  };
6
5
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
7
6
  export default _default;
@@ -1,7 +1,6 @@
1
- import { SchemaNode, FormDataModel } from '../state/types';
1
+ import { SchemaNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: SchemaNode;
4
- modelValue?: FormDataModel;
5
4
  };
6
5
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
7
6
  export default _default;
@@ -0,0 +1,6 @@
1
+ import { SchemaNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
+ type __VLS_Props = {
3
+ node: SchemaNode;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
6
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import { SchemaNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
+ type __VLS_Props = {
3
+ node: SchemaNode;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
6
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import { SchemaNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
+ type __VLS_Props = {
3
+ node: SchemaNode;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
6
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import { SchemaNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
+ type __VLS_Props = {
3
+ node: SchemaNode;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
6
+ export default _default;
@@ -1,4 +1,4 @@
1
- import { FormDataModel, LayoutSchema } from '../state/types';
1
+ import { FormDataModel, LayoutSchema } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  schema: LayoutSchema;
4
4
  modelValue: FormDataModel;
@@ -1,4 +1,4 @@
1
- import { FormDataModel, SchemaNode } from '../state/types';
1
+ import { FormDataModel, SchemaNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  type __VLS_Props = {
3
3
  node: SchemaNode;
4
4
  modelValue: FormDataModel;
@@ -1,4 +1,4 @@
1
- import { DragItem, DropTarget, FormDataModel, NodeType } from './types';
1
+ import { FormDataModel } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  declare function undo(): void;
3
3
  declare function redo(): void;
4
4
  declare function applySchema(input: unknown): void;
@@ -66,7 +66,7 @@ export declare function useDesignerState(): {
66
66
  } | {
67
67
  kind: "node";
68
68
  nodeId: string;
69
- } | null, DragItem | {
69
+ } | null, import('../../../../../devject-design/devject-design/src/ui/state/types').DragItem | {
70
70
  kind: "palette";
71
71
  nodeType: string;
72
72
  preset?: Record<string, unknown> | undefined;
@@ -92,7 +92,7 @@ export declare function useDesignerState(): {
92
92
  tabsId: string;
93
93
  tabId: string;
94
94
  insertIndex: number;
95
- } | null, DropTarget | {
95
+ } | null, import('../../../../../devject-design/devject-design/src/ui/state/types').DropTarget | {
96
96
  kind: "root";
97
97
  insertIndex: number;
98
98
  } | {
@@ -116,16 +116,16 @@ export declare function useDesignerState(): {
116
116
  y: number;
117
117
  };
118
118
  isDragging: import('vue').ComputedRef<boolean>;
119
- begin: (item: DragItem, ev: PointerEvent) => void;
119
+ begin: (item: import('../../../../../devject-design/devject-design/src/ui/state/types').DragItem, ev: PointerEvent) => void;
120
120
  move: (ev: PointerEvent) => void;
121
- setHover: (target: DropTarget | null) => void;
121
+ setHover: (target: import('../../../../../devject-design/devject-design/src/ui/state/types').DropTarget | null) => void;
122
122
  end: () => void;
123
123
  };
124
124
  formData: import('vue').Ref<FormDataModel, FormDataModel>;
125
125
  select: typeof select;
126
- beginPaletteDrag: (nodeType: NodeType, ev: PointerEvent) => void;
126
+ beginPaletteDrag: (nodeType: import('../../../../../devject-design/devject-design/src/ui/state/types').NodeType, ev: PointerEvent) => void;
127
127
  beginNodeDrag: (nodeId: string, ev: PointerEvent) => void;
128
- setHover: (target: DropTarget | null) => void;
128
+ setHover: (target: import('../../../../../devject-design/devject-design/src/ui/state/types').DropTarget | null) => void;
129
129
  applySchema: typeof applySchema;
130
130
  removeSelected: typeof removeSelected;
131
131
  updateNodeProps: typeof updateNodeProps;
@@ -1,4 +1,4 @@
1
- import { DragItem, DropTarget } from './types';
1
+ import { DragItem, DropTarget } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  declare function begin(item: DragItem, ev: PointerEvent): void;
3
3
  declare function move(ev: PointerEvent): void;
4
4
  declare function setHover(target: DropTarget | null): void;
@@ -1,4 +1,4 @@
1
- import { DropTarget, LayoutSchema, NodeType, SchemaNode } from './types';
1
+ import { DropTarget, LayoutSchema, NodeType, SchemaNode } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  export declare function createEmptySchema(): LayoutSchema;
3
3
  export declare function deepClone<T>(value: T): T;
4
4
  export declare function createNode(nodeType: NodeType): SchemaNode;
@@ -25,6 +25,7 @@ export declare function findNode(schema: LayoutSchema, nodeId: string): {
25
25
  node: SchemaNode;
26
26
  loc: NodeLocation;
27
27
  } | null;
28
+ export declare function findNodeById(schema: LayoutSchema, id: string): SchemaNode | null;
28
29
  export declare function removeNode(schema: LayoutSchema, nodeId: string): SchemaNode | null;
29
30
  export declare function insertNode(schema: LayoutSchema, target: DropTarget, node: SchemaNode): void;
30
31
  export declare function moveNode(schema: LayoutSchema, nodeId: string, target: DropTarget): void;
@@ -1,4 +1,4 @@
1
- import { FormDataModel, LayoutSchema } from './types';
1
+ import { FormDataModel, LayoutSchema } from '../../../../../devject-design/devject-design/src/ui/state/types';
2
2
  export declare function saveLayout(schema: LayoutSchema): void;
3
3
  export declare function loadLayout(): LayoutSchema | null;
4
4
  export declare function saveFormData(model: FormDataModel): void;
@@ -0,0 +1 @@
1
+ export declare function resolveUploadResponse(response: unknown, parsePath?: string): unknown;
@@ -1,10 +1,11 @@
1
1
  import { Ref } from 'vue';
2
- import { DropTarget, LayoutSchema, SchemaNode, NodeType } from './types';
2
+ import { findNodeById } from '../../../../../devject-design/devject-design/src/ui/state/schemaOps';
3
+ import { DropTarget, LayoutSchema, NodeType } from '../../../../../devject-design/devject-design/src/ui/state/types';
3
4
  export declare function useDragLogic(schemaState: Ref<LayoutSchema>, selection: {
4
5
  selectedNodeId: Ref<string | null>;
5
6
  }, commit: (next: LayoutSchema) => void): {
6
7
  beginPaletteDrag: (nodeType: NodeType, ev: PointerEvent) => void;
7
8
  beginNodeDrag: (nodeId: string, ev: PointerEvent) => void;
8
9
  setHover: (target: DropTarget | null) => void;
9
- findTypeById: (schema: LayoutSchema, nodeId: string) => SchemaNode | null;
10
+ findNodeById: typeof findNodeById;
10
11
  };
@@ -28,7 +28,16 @@ export type ZodSchemaNode = z.infer<typeof baseNodeSchema> & {
28
28
  export declare const schemaNodeSchema: z.ZodType<ZodSchemaNode>;
29
29
  export declare const layoutSchemaValidator: z.ZodObject<{
30
30
  version: z.ZodDefault<z.ZodNumber>;
31
- root: z.ZodType<ZodSchemaNode, unknown, z.core.$ZodTypeInternals<ZodSchemaNode, unknown>>;
31
+ root: z.ZodPipe<z.ZodObject<{
32
+ children: z.ZodLazy<z.ZodArray<z.ZodType<ZodSchemaNode, unknown, z.core.$ZodTypeInternals<ZodSchemaNode, unknown>>>>;
33
+ type: z.ZodOptional<z.ZodString>;
34
+ }, z.core.$strip>, z.ZodTransform<{
35
+ type: string;
36
+ children: ZodSchemaNode[];
37
+ }, {
38
+ children: ZodSchemaNode[];
39
+ type?: string | undefined;
40
+ }>>;
32
41
  }, z.core.$strip>;
33
42
  export declare const formDataValidator: z.ZodRecord<z.ZodString, z.ZodUnknown>;
34
43
  export declare function validateLayout(data: unknown): LayoutSchema;
package/dist/index.d.ts CHANGED
@@ -1,12 +1 @@
1
- import { App, Plugin } from 'vue';
2
- import { default as FormDesigner } from './pages/FormDesigner';
3
- import { default as FormRenderer } from './ui/preview/FormRenderer';
4
- declare const install: (app: App) => void;
5
- export { FormDesigner, FormRenderer, install };
6
- export * from './ui/state/types';
7
- export { registerComponent } from './core/registry';
8
- export type { ComponentDefinition, DataProcessor } from './core/registry';
9
- export { registerEditor, getEditor } from './core/editors';
10
- export { useValidator } from './ui/hooks/useValidator';
11
- declare const _default: Plugin;
12
- export default _default;
1
+ export {}