@zentto/studio-core 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 (105) hide show
  1. package/dist/__tests__/data-binding.test.d.ts +2 -0
  2. package/dist/__tests__/data-binding.test.d.ts.map +1 -0
  3. package/dist/__tests__/data-binding.test.js +86 -0
  4. package/dist/__tests__/data-binding.test.js.map +1 -0
  5. package/dist/__tests__/event-bus.test.d.ts +2 -0
  6. package/dist/__tests__/event-bus.test.d.ts.map +1 -0
  7. package/dist/__tests__/event-bus.test.js +70 -0
  8. package/dist/__tests__/event-bus.test.js.map +1 -0
  9. package/dist/__tests__/expression.test.d.ts +2 -0
  10. package/dist/__tests__/expression.test.d.ts.map +1 -0
  11. package/dist/__tests__/expression.test.js +173 -0
  12. package/dist/__tests__/expression.test.js.map +1 -0
  13. package/dist/__tests__/schema.test.d.ts +2 -0
  14. package/dist/__tests__/schema.test.d.ts.map +1 -0
  15. package/dist/__tests__/schema.test.js +91 -0
  16. package/dist/__tests__/schema.test.js.map +1 -0
  17. package/dist/__tests__/validation.test.d.ts +2 -0
  18. package/dist/__tests__/validation.test.d.ts.map +1 -0
  19. package/dist/__tests__/validation.test.js +70 -0
  20. package/dist/__tests__/validation.test.js.map +1 -0
  21. package/dist/app-types.d.ts +184 -0
  22. package/dist/app-types.d.ts.map +1 -0
  23. package/dist/app-types.js +4 -0
  24. package/dist/app-types.js.map +1 -0
  25. package/dist/data/data-source.d.ts +16 -0
  26. package/dist/data/data-source.d.ts.map +1 -0
  27. package/dist/data/data-source.js +139 -0
  28. package/dist/data/data-source.js.map +1 -0
  29. package/dist/data/data-transformer.d.ts +15 -0
  30. package/dist/data/data-transformer.d.ts.map +1 -0
  31. package/dist/data/data-transformer.js +58 -0
  32. package/dist/data/data-transformer.js.map +1 -0
  33. package/dist/engine/action-engine.d.ts +18 -0
  34. package/dist/engine/action-engine.d.ts.map +1 -0
  35. package/dist/engine/action-engine.js +97 -0
  36. package/dist/engine/action-engine.js.map +1 -0
  37. package/dist/engine/data-binding.d.ts +46 -0
  38. package/dist/engine/data-binding.d.ts.map +1 -0
  39. package/dist/engine/data-binding.js +198 -0
  40. package/dist/engine/data-binding.js.map +1 -0
  41. package/dist/engine/expression.d.ts +39 -0
  42. package/dist/engine/expression.d.ts.map +1 -0
  43. package/dist/engine/expression.js +630 -0
  44. package/dist/engine/expression.js.map +1 -0
  45. package/dist/engine/rule-engine.d.ts +23 -0
  46. package/dist/engine/rule-engine.d.ts.map +1 -0
  47. package/dist/engine/rule-engine.js +91 -0
  48. package/dist/engine/rule-engine.js.map +1 -0
  49. package/dist/engine/validation.d.ts +16 -0
  50. package/dist/engine/validation.d.ts.map +1 -0
  51. package/dist/engine/validation.js +116 -0
  52. package/dist/engine/validation.js.map +1 -0
  53. package/dist/events/event-bus.d.ts +16 -0
  54. package/dist/events/event-bus.d.ts.map +1 -0
  55. package/dist/events/event-bus.js +51 -0
  56. package/dist/events/event-bus.js.map +1 -0
  57. package/dist/i18n/en.d.ts +29 -0
  58. package/dist/i18n/en.d.ts.map +1 -0
  59. package/dist/i18n/en.js +29 -0
  60. package/dist/i18n/en.js.map +1 -0
  61. package/dist/i18n/es.d.ts +29 -0
  62. package/dist/i18n/es.d.ts.map +1 -0
  63. package/dist/i18n/es.js +29 -0
  64. package/dist/i18n/es.js.map +1 -0
  65. package/dist/i18n/i18n.d.ts +14 -0
  66. package/dist/i18n/i18n.d.ts.map +1 -0
  67. package/dist/i18n/i18n.js +32 -0
  68. package/dist/i18n/i18n.js.map +1 -0
  69. package/dist/i18n/pt.d.ts +29 -0
  70. package/dist/i18n/pt.d.ts.map +1 -0
  71. package/dist/i18n/pt.js +29 -0
  72. package/dist/i18n/pt.js.map +1 -0
  73. package/dist/index.d.ts +24 -0
  74. package/dist/index.d.ts.map +1 -0
  75. package/dist/index.js +31 -0
  76. package/dist/index.js.map +1 -0
  77. package/dist/layout/grid-solver.d.ts +18 -0
  78. package/dist/layout/grid-solver.d.ts.map +1 -0
  79. package/dist/layout/grid-solver.js +72 -0
  80. package/dist/layout/grid-solver.js.map +1 -0
  81. package/dist/persistence/flavor-manager.d.ts +17 -0
  82. package/dist/persistence/flavor-manager.d.ts.map +1 -0
  83. package/dist/persistence/flavor-manager.js +63 -0
  84. package/dist/persistence/flavor-manager.js.map +1 -0
  85. package/dist/persistence/schema-store.d.ts +35 -0
  86. package/dist/persistence/schema-store.d.ts.map +1 -0
  87. package/dist/persistence/schema-store.js +142 -0
  88. package/dist/persistence/schema-store.js.map +1 -0
  89. package/dist/registry/field-registry.d.ts +12 -0
  90. package/dist/registry/field-registry.d.ts.map +1 -0
  91. package/dist/registry/field-registry.js +91 -0
  92. package/dist/registry/field-registry.js.map +1 -0
  93. package/dist/schema/studio-schema.d.ts +1196 -0
  94. package/dist/schema/studio-schema.d.ts.map +1 -0
  95. package/dist/schema/studio-schema.js +191 -0
  96. package/dist/schema/studio-schema.js.map +1 -0
  97. package/dist/templates/app-templates.d.ts +35 -0
  98. package/dist/templates/app-templates.d.ts.map +1 -0
  99. package/dist/templates/app-templates.js +306 -0
  100. package/dist/templates/app-templates.js.map +1 -0
  101. package/dist/types.d.ts +270 -0
  102. package/dist/types.d.ts.map +1 -0
  103. package/dist/types.js +4 -0
  104. package/dist/types.js.map +1 -0
  105. package/package.json +44 -0
@@ -0,0 +1,270 @@
1
+ export type FieldType = 'text' | 'textarea' | 'number' | 'currency' | 'percentage' | 'date' | 'time' | 'datetime' | 'select' | 'multiselect' | 'radio' | 'checkbox' | 'switch' | 'file' | 'image' | 'color' | 'richtext' | 'code' | 'signature' | 'qr-scanner' | 'barcode-scanner' | 'address' | 'phone' | 'email' | 'url' | 'password' | 'slider' | 'rating' | 'tags' | 'lookup' | 'datagrid' | 'report' | 'chart' | 'html' | 'separator' | 'heading' | 'media' | 'chips' | 'treeview' | 'custom';
2
+ export type LayoutType = 'form' | 'grid' | 'tabs' | 'wizard' | 'accordion' | 'dashboard' | 'master-detail';
3
+ export interface LayoutConfig {
4
+ type: LayoutType;
5
+ columns?: number;
6
+ gap?: number;
7
+ labelPosition?: 'top' | 'left' | 'inline';
8
+ responsive?: ResponsiveBreakpoint[];
9
+ }
10
+ export interface ResponsiveBreakpoint {
11
+ maxWidth: number;
12
+ columns: number;
13
+ }
14
+ export interface FieldConfig {
15
+ id: string;
16
+ type: FieldType;
17
+ field: string;
18
+ label?: string;
19
+ placeholder?: string;
20
+ defaultValue?: unknown;
21
+ required?: boolean;
22
+ readOnly?: boolean;
23
+ disabled?: boolean;
24
+ hidden?: boolean;
25
+ width?: string | number;
26
+ colSpan?: number;
27
+ validation?: ValidationRule[];
28
+ visibilityRule?: string;
29
+ computedValue?: string;
30
+ style?: Record<string, string>;
31
+ cssClass?: string;
32
+ props?: Record<string, unknown>;
33
+ i18nKey?: string;
34
+ helpText?: string;
35
+ }
36
+ export interface SelectOption {
37
+ value: string | number;
38
+ label: string;
39
+ disabled?: boolean;
40
+ group?: string;
41
+ }
42
+ export interface LookupConfig {
43
+ dataSourceId: string;
44
+ valueField: string;
45
+ displayField: string;
46
+ searchFields?: string[];
47
+ minChars?: number;
48
+ debounceMs?: number;
49
+ }
50
+ export type ValidationType = 'required' | 'min' | 'max' | 'minLength' | 'maxLength' | 'pattern' | 'email' | 'url' | 'custom';
51
+ export interface ValidationRule {
52
+ type: ValidationType;
53
+ value?: unknown;
54
+ message?: string;
55
+ expression?: string;
56
+ }
57
+ export type DataSourceType = 'rest' | 'graphql' | 'static' | 'computed';
58
+ export interface DataSourceConfig {
59
+ id: string;
60
+ name: string;
61
+ type: DataSourceType;
62
+ url?: string;
63
+ method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
64
+ headers?: Record<string, string>;
65
+ body?: unknown;
66
+ transform?: string;
67
+ autoFetch?: boolean;
68
+ refreshInterval?: number;
69
+ dependsOn?: string[];
70
+ pagination?: PaginationConfig;
71
+ staticData?: unknown;
72
+ }
73
+ export interface PaginationConfig {
74
+ type: 'offset' | 'cursor';
75
+ pageSize: number;
76
+ pageSizeParam?: string;
77
+ pageParam?: string;
78
+ cursorParam?: string;
79
+ }
80
+ export type ActionType = 'submit' | 'apiCall' | 'navigate' | 'openModal' | 'print' | 'reset' | 'custom';
81
+ export interface ActionConfig {
82
+ id: string;
83
+ type: ActionType;
84
+ label: string;
85
+ icon?: string;
86
+ variant?: 'primary' | 'secondary' | 'danger' | 'ghost';
87
+ position?: 'top' | 'bottom' | 'inline';
88
+ disabled?: boolean;
89
+ disabledRule?: string;
90
+ confirmMessage?: string;
91
+ url?: string;
92
+ method?: string;
93
+ headers?: Record<string, string>;
94
+ navigateTo?: string;
95
+ schemaId?: string;
96
+ eventName?: string;
97
+ successMessage?: string;
98
+ errorMessage?: string;
99
+ }
100
+ export type RuleActionType = 'show' | 'hide' | 'enable' | 'disable' | 'setValue' | 'setStyle' | 'validate' | 'setRequired';
101
+ export interface RuleAction {
102
+ type: RuleActionType;
103
+ target: string;
104
+ value?: unknown;
105
+ }
106
+ export interface Rule {
107
+ id: string;
108
+ name?: string;
109
+ condition: string;
110
+ actions: RuleAction[];
111
+ priority?: number;
112
+ }
113
+ export interface Section {
114
+ id: string;
115
+ title?: string;
116
+ description?: string;
117
+ icon?: string;
118
+ fields: FieldConfig[];
119
+ collapsible?: boolean;
120
+ collapsed?: boolean;
121
+ columns?: number;
122
+ visibilityRule?: string;
123
+ validationRule?: string;
124
+ }
125
+ export interface FlavorOverride {
126
+ fieldId: string;
127
+ hidden?: boolean;
128
+ readOnly?: boolean;
129
+ disabled?: boolean;
130
+ defaultValue?: unknown;
131
+ label?: string;
132
+ }
133
+ export interface Flavor {
134
+ id: string;
135
+ name: string;
136
+ description?: string;
137
+ roles: string[];
138
+ overrides: FlavorOverride[];
139
+ }
140
+ export interface PermissionConfig {
141
+ flavors: Flavor[];
142
+ defaultFlavorId?: string;
143
+ }
144
+ export interface ThemeConfig {
145
+ mode?: 'light' | 'dark' | 'auto';
146
+ primaryColor?: string;
147
+ accentColor?: string;
148
+ borderRadius?: number;
149
+ fontFamily?: string;
150
+ fontSize?: number;
151
+ spacing?: number;
152
+ tokens?: Record<string, string>;
153
+ }
154
+ export interface I18nConfig {
155
+ defaultLocale: string;
156
+ translations?: Record<string, Record<string, string>>;
157
+ }
158
+ export interface StudioSchema {
159
+ id: string;
160
+ version: string;
161
+ title: string;
162
+ description?: string;
163
+ layout: LayoutConfig;
164
+ theme?: ThemeConfig;
165
+ dataSources?: DataSourceConfig[];
166
+ sections: Section[];
167
+ actions?: ActionConfig[];
168
+ rules?: Rule[];
169
+ permissions?: PermissionConfig;
170
+ i18n?: I18nConfig;
171
+ meta?: Record<string, unknown>;
172
+ }
173
+ export interface FieldState {
174
+ value: unknown;
175
+ errors: string[];
176
+ touched: boolean;
177
+ dirty: boolean;
178
+ visible: boolean;
179
+ enabled: boolean;
180
+ required: boolean;
181
+ readOnly: boolean;
182
+ }
183
+ export interface FormState {
184
+ data: Record<string, unknown>;
185
+ fields: Map<string, FieldState>;
186
+ isValid: boolean;
187
+ isDirty: boolean;
188
+ isSubmitting: boolean;
189
+ activeSection: number;
190
+ }
191
+ export interface StudioEventMap {
192
+ 'field:change': {
193
+ fieldId: string;
194
+ field: string;
195
+ value: unknown;
196
+ previousValue: unknown;
197
+ };
198
+ 'field:focus': {
199
+ fieldId: string;
200
+ };
201
+ 'field:blur': {
202
+ fieldId: string;
203
+ };
204
+ 'field:validate': {
205
+ fieldId: string;
206
+ errors: string[];
207
+ };
208
+ 'section:change': {
209
+ sectionIndex: number;
210
+ };
211
+ 'action:execute': {
212
+ actionId: string;
213
+ type: ActionType;
214
+ data: Record<string, unknown>;
215
+ };
216
+ 'action:success': {
217
+ actionId: string;
218
+ response: unknown;
219
+ };
220
+ 'action:error': {
221
+ actionId: string;
222
+ error: Error;
223
+ };
224
+ 'datasource:loading': {
225
+ sourceId: string;
226
+ };
227
+ 'datasource:loaded': {
228
+ sourceId: string;
229
+ data: unknown;
230
+ };
231
+ 'datasource:error': {
232
+ sourceId: string;
233
+ error: Error;
234
+ };
235
+ 'schema:change': {
236
+ schema: StudioSchema;
237
+ };
238
+ 'flavor:change': {
239
+ flavorId: string;
240
+ };
241
+ 'form:submit': {
242
+ data: Record<string, unknown>;
243
+ };
244
+ 'form:reset': {};
245
+ 'form:valid': {
246
+ isValid: boolean;
247
+ };
248
+ }
249
+ export interface StudioBindingContext {
250
+ formData: Record<string, unknown>;
251
+ dataSources: Record<string, unknown>;
252
+ user?: {
253
+ id?: string;
254
+ roles?: string[];
255
+ email?: string;
256
+ };
257
+ parameters?: Record<string, unknown>;
258
+ locale?: string;
259
+ }
260
+ export type FieldCategory = 'basic' | 'advanced' | 'layout' | 'data' | 'media' | 'custom';
261
+ export interface FieldRendererMeta {
262
+ type: FieldType;
263
+ tagName: string;
264
+ label: string;
265
+ icon: string;
266
+ category: FieldCategory;
267
+ defaultProps?: Record<string, unknown>;
268
+ defaultValidation?: ValidationRule[];
269
+ }
270
+ //# 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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"}
package/dist/types.js ADDED
@@ -0,0 +1,4 @@
1
+ // @zentto/studio-core — Central type definitions
2
+ // All public interfaces for the Zentto Studio runtime UI builder
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,iEAAiE"}
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@zentto/studio-core",
3
+ "version": "0.1.0",
4
+ "description": "Core logic engine for Zentto Studio — runtime UI builder. Schema validation, expression engine, data binding, and rule evaluation.",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": ["dist", "README.md"],
15
+ "scripts": {
16
+ "build": "tsc",
17
+ "dev": "tsc --watch",
18
+ "test": "vitest run",
19
+ "test:watch": "vitest",
20
+ "test:coverage": "vitest run --coverage",
21
+ "clean": "rm -rf dist"
22
+ },
23
+ "dependencies": {
24
+ "zod": "^3.24.1"
25
+ },
26
+ "devDependencies": {
27
+ "@vitest/coverage-v8": "^3.2.4",
28
+ "vitest": "^3.2.4"
29
+ },
30
+ "license": "MIT",
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "https://github.com/zentto-erp/zentto-studio"
34
+ },
35
+ "keywords": [
36
+ "zentto",
37
+ "studio",
38
+ "form-builder",
39
+ "runtime-ui",
40
+ "json-schema",
41
+ "expression-engine",
42
+ "dynamic-forms"
43
+ ]
44
+ }