@specverse/runtime 4.1.0 → 4.1.2
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.
- package/README.md +356 -0
- package/dist/runtime/views/core/atomic-components-registry.d.ts +63 -0
- package/dist/runtime/views/core/atomic-components-registry.d.ts.map +1 -0
- package/dist/runtime/views/core/atomic-components-registry.js +822 -0
- package/dist/runtime/views/core/atomic-components-registry.js.map +1 -0
- package/dist/runtime/views/core/composite-pattern-types.d.ts +171 -0
- package/dist/runtime/views/core/composite-pattern-types.d.ts.map +1 -0
- package/dist/runtime/views/core/composite-pattern-types.js +11 -0
- package/dist/runtime/views/core/composite-pattern-types.js.map +1 -0
- package/dist/runtime/views/core/composite-patterns.d.ts +67 -0
- package/dist/runtime/views/core/composite-patterns.d.ts.map +1 -0
- package/dist/runtime/views/core/composite-patterns.js +485 -0
- package/dist/runtime/views/core/composite-patterns.js.map +1 -0
- package/dist/runtime/views/core/entity-display.d.ts +28 -0
- package/dist/runtime/views/core/entity-display.d.ts.map +1 -1
- package/dist/runtime/views/core/entity-display.js +75 -0
- package/dist/runtime/views/core/entity-display.js.map +1 -1
- package/dist/runtime/views/core/index.d.ts +4 -1
- package/dist/runtime/views/core/index.d.ts.map +1 -1
- package/dist/runtime/views/core/index.js +5 -1
- package/dist/runtime/views/core/index.js.map +1 -1
- package/dist/runtime/views/core/pattern-engine.d.ts +2 -2
- package/dist/runtime/views/core/pattern-engine.d.ts.map +1 -1
- package/dist/runtime/views/core/pattern-engine.js.map +1 -1
- package/dist/runtime/views/core/types.d.ts +2 -0
- package/dist/runtime/views/core/types.d.ts.map +1 -1
- package/dist/runtime/views/index.d.ts +5 -2
- package/dist/runtime/views/index.d.ts.map +1 -1
- package/dist/runtime/views/index.js +5 -2
- package/dist/runtime/views/index.js.map +1 -1
- package/dist/runtime/views/react/components/DevShell.d.ts.map +1 -1
- package/dist/runtime/views/react/components/DevShell.js +6 -2
- package/dist/runtime/views/react/components/DevShell.js.map +1 -1
- package/dist/runtime/views/react/components/EntitySelect.d.ts +14 -0
- package/dist/runtime/views/react/components/EntitySelect.d.ts.map +1 -0
- package/dist/runtime/views/react/components/EntitySelect.js +29 -0
- package/dist/runtime/views/react/components/EntitySelect.js.map +1 -0
- package/dist/runtime/views/react/components/EventStream.d.ts +11 -0
- package/dist/runtime/views/react/components/EventStream.d.ts.map +1 -0
- package/dist/runtime/views/react/components/EventStream.js +49 -0
- package/dist/runtime/views/react/components/EventStream.js.map +1 -0
- package/dist/runtime/views/react/components/FieldInput.d.ts +23 -0
- package/dist/runtime/views/react/components/FieldInput.d.ts.map +1 -0
- package/dist/runtime/views/react/components/FieldInput.js +28 -0
- package/dist/runtime/views/react/components/FieldInput.js.map +1 -0
- package/dist/runtime/views/react/components/FormView.d.ts +21 -0
- package/dist/runtime/views/react/components/FormView.d.ts.map +1 -0
- package/dist/runtime/views/react/components/FormView.js +13 -0
- package/dist/runtime/views/react/components/FormView.js.map +1 -0
- package/dist/runtime/views/react/components/ModelManager.d.ts +6 -2
- package/dist/runtime/views/react/components/ModelManager.d.ts.map +1 -1
- package/dist/runtime/views/react/components/ModelManager.js +166 -61
- package/dist/runtime/views/react/components/ModelManager.js.map +1 -1
- package/dist/runtime/views/react/components/ModelSelector.d.ts.map +1 -1
- package/dist/runtime/views/react/components/ModelSelector.js +4 -1
- package/dist/runtime/views/react/components/ModelSelector.js.map +1 -1
- package/dist/runtime/views/react/components/OperationExecutor.d.ts +15 -0
- package/dist/runtime/views/react/components/OperationExecutor.d.ts.map +1 -0
- package/dist/runtime/views/react/components/OperationExecutor.js +86 -0
- package/dist/runtime/views/react/components/OperationExecutor.js.map +1 -0
- package/dist/runtime/views/react/components/OperationResultView.d.ts +10 -0
- package/dist/runtime/views/react/components/OperationResultView.d.ts.map +1 -0
- package/dist/runtime/views/react/components/OperationResultView.js +92 -0
- package/dist/runtime/views/react/components/OperationResultView.js.map +1 -0
- package/dist/runtime/views/react/components/OperationView.d.ts +21 -0
- package/dist/runtime/views/react/components/OperationView.d.ts.map +1 -0
- package/dist/runtime/views/react/components/OperationView.js +7 -0
- package/dist/runtime/views/react/components/OperationView.js.map +1 -0
- package/dist/runtime/views/react/components/RelationshipField.js +4 -4
- package/dist/runtime/views/react/components/RelationshipField.js.map +1 -1
- package/dist/runtime/views/react/components/RuntimeView.d.ts.map +1 -1
- package/dist/runtime/views/react/components/RuntimeView.js +93 -33
- package/dist/runtime/views/react/components/RuntimeView.js.map +1 -1
- package/dist/runtime/views/react/components/ViewRouter.d.ts +7 -1
- package/dist/runtime/views/react/components/ViewRouter.d.ts.map +1 -1
- package/dist/runtime/views/react/components/ViewRouter.js +57 -18
- package/dist/runtime/views/react/components/ViewRouter.js.map +1 -1
- package/dist/runtime/views/react/hooks/useEventStream.d.ts +29 -0
- package/dist/runtime/views/react/hooks/useEventStream.d.ts.map +1 -0
- package/dist/runtime/views/react/hooks/useEventStream.js +114 -0
- package/dist/runtime/views/react/hooks/useEventStream.js.map +1 -0
- package/dist/runtime/views/react/hooks/useResizableSidebar.d.ts.map +1 -1
- package/dist/runtime/views/react/hooks/useResizableSidebar.js +2 -0
- package/dist/runtime/views/react/hooks/useResizableSidebar.js.map +1 -1
- package/dist/runtime/views/react/index.d.ts +10 -1
- package/dist/runtime/views/react/index.d.ts.map +1 -1
- package/dist/runtime/views/react/index.js +11 -1
- package/dist/runtime/views/react/index.js.map +1 -1
- package/dist/runtime/views/react/react-pattern-adapter.d.ts +235 -0
- package/dist/runtime/views/react/react-pattern-adapter.d.ts.map +1 -0
- package/dist/runtime/views/react/react-pattern-adapter.js +1450 -0
- package/dist/runtime/views/react/react-pattern-adapter.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,485 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composite View Patterns Registry
|
|
3
|
+
*
|
|
4
|
+
* Tech-independent definitions for composite view patterns.
|
|
5
|
+
* These patterns describe high-level view structures that can be rendered
|
|
6
|
+
* by any framework adapter (React, Vue, Svelte, Angular, etc.)
|
|
7
|
+
*
|
|
8
|
+
* NO FRAMEWORK DEPENDENCIES - Pure TypeScript definitions only.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* FormView Pattern
|
|
12
|
+
*
|
|
13
|
+
* A data entry view for creating or updating entities.
|
|
14
|
+
* Generates forms with validation, field rendering, and submission handling.
|
|
15
|
+
*/
|
|
16
|
+
export const FORM_VIEW_PATTERN = {
|
|
17
|
+
// Identity
|
|
18
|
+
id: 'form-view',
|
|
19
|
+
name: 'FormView',
|
|
20
|
+
version: '1.0.0',
|
|
21
|
+
description: 'Data entry form for creating or updating entities with validation and field rendering',
|
|
22
|
+
// Metadata
|
|
23
|
+
category: 'data-entry',
|
|
24
|
+
tags: ['form', 'crud', 'data-entry', 'validation', 'create', 'update'],
|
|
25
|
+
// Composition
|
|
26
|
+
requiredAtomicComponents: [
|
|
27
|
+
'form',
|
|
28
|
+
'input',
|
|
29
|
+
'button'
|
|
30
|
+
],
|
|
31
|
+
optionalAtomicComponents: [
|
|
32
|
+
'select',
|
|
33
|
+
'textarea',
|
|
34
|
+
'checkbox',
|
|
35
|
+
'radio',
|
|
36
|
+
'label',
|
|
37
|
+
'error-message',
|
|
38
|
+
'fieldset',
|
|
39
|
+
'legend'
|
|
40
|
+
],
|
|
41
|
+
// Layout
|
|
42
|
+
layoutStrategy: {
|
|
43
|
+
type: 'single-column',
|
|
44
|
+
responsive: true,
|
|
45
|
+
sections: [
|
|
46
|
+
{
|
|
47
|
+
id: 'fields',
|
|
48
|
+
title: 'Form Fields',
|
|
49
|
+
layout: {
|
|
50
|
+
type: 'single-column',
|
|
51
|
+
gap: 'medium'
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: 'actions',
|
|
56
|
+
title: 'Actions',
|
|
57
|
+
layout: {
|
|
58
|
+
type: 'flex',
|
|
59
|
+
gap: 'small'
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
// Data Bindings
|
|
65
|
+
dataBindings: {
|
|
66
|
+
source: 'controller',
|
|
67
|
+
operations: [
|
|
68
|
+
{
|
|
69
|
+
operation: 'create',
|
|
70
|
+
returns: 'entity',
|
|
71
|
+
optimistic: false,
|
|
72
|
+
cache: { enabled: false }
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
operation: 'update',
|
|
76
|
+
params: ['id'],
|
|
77
|
+
returns: 'entity',
|
|
78
|
+
optimistic: true,
|
|
79
|
+
cache: { enabled: false }
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
operation: 'validate',
|
|
83
|
+
returns: 'validation-result',
|
|
84
|
+
optimistic: false,
|
|
85
|
+
cache: { enabled: false }
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
relationships: []
|
|
89
|
+
},
|
|
90
|
+
// Behavior
|
|
91
|
+
supportedOperations: ['create', 'update', 'validate'],
|
|
92
|
+
eventHandlers: [
|
|
93
|
+
{
|
|
94
|
+
event: 'submit',
|
|
95
|
+
operation: 'create',
|
|
96
|
+
validate: true
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
event: 'submit',
|
|
100
|
+
operation: 'update',
|
|
101
|
+
validate: true
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
event: 'blur',
|
|
105
|
+
operation: 'validate',
|
|
106
|
+
validate: false
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
// State Management
|
|
110
|
+
state: {
|
|
111
|
+
fields: ['formData', 'errors', 'touched', 'isSubmitting'],
|
|
112
|
+
persistence: 'none'
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* ListView Pattern
|
|
117
|
+
*
|
|
118
|
+
* A data display view for showing collections of entities.
|
|
119
|
+
* Supports table, list, card, and kanban display modes with filtering and pagination.
|
|
120
|
+
*/
|
|
121
|
+
export const LIST_VIEW_PATTERN = {
|
|
122
|
+
// Identity
|
|
123
|
+
id: 'list-view',
|
|
124
|
+
name: 'ListView',
|
|
125
|
+
version: '1.0.0',
|
|
126
|
+
description: 'Data display for collections with filtering, sorting, and pagination support',
|
|
127
|
+
// Metadata
|
|
128
|
+
category: 'data-display',
|
|
129
|
+
tags: ['list', 'table', 'collection', 'data-display', 'pagination', 'filtering'],
|
|
130
|
+
// Composition
|
|
131
|
+
requiredAtomicComponents: [
|
|
132
|
+
'table',
|
|
133
|
+
'list'
|
|
134
|
+
],
|
|
135
|
+
optionalAtomicComponents: [
|
|
136
|
+
'card',
|
|
137
|
+
'badge',
|
|
138
|
+
'button',
|
|
139
|
+
'input',
|
|
140
|
+
'select',
|
|
141
|
+
'pagination',
|
|
142
|
+
'search',
|
|
143
|
+
'filter'
|
|
144
|
+
],
|
|
145
|
+
// Layout
|
|
146
|
+
layoutStrategy: {
|
|
147
|
+
type: 'flex',
|
|
148
|
+
responsive: true,
|
|
149
|
+
direction: 'column',
|
|
150
|
+
sections: [
|
|
151
|
+
{
|
|
152
|
+
id: 'toolbar',
|
|
153
|
+
title: 'Toolbar',
|
|
154
|
+
fields: ['search', 'filters', 'actions'],
|
|
155
|
+
layout: {
|
|
156
|
+
type: 'flex',
|
|
157
|
+
gap: 'medium'
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
id: 'content',
|
|
162
|
+
title: 'Content',
|
|
163
|
+
layout: {
|
|
164
|
+
type: 'single-column'
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
id: 'pagination',
|
|
169
|
+
title: 'Pagination',
|
|
170
|
+
layout: {
|
|
171
|
+
type: 'flex',
|
|
172
|
+
gap: 'small'
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
]
|
|
176
|
+
},
|
|
177
|
+
// Data Bindings
|
|
178
|
+
dataBindings: {
|
|
179
|
+
source: 'controller',
|
|
180
|
+
operations: [
|
|
181
|
+
{
|
|
182
|
+
operation: 'retrieve_many',
|
|
183
|
+
returns: 'entity-array',
|
|
184
|
+
optimistic: false,
|
|
185
|
+
cache: {
|
|
186
|
+
enabled: true,
|
|
187
|
+
ttl: 300,
|
|
188
|
+
key: 'list-{modelName}-{filters}'
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
],
|
|
192
|
+
relationships: []
|
|
193
|
+
},
|
|
194
|
+
// Behavior
|
|
195
|
+
supportedOperations: ['retrieve_many'],
|
|
196
|
+
eventHandlers: [
|
|
197
|
+
{
|
|
198
|
+
event: 'search',
|
|
199
|
+
operation: 'retrieve_many',
|
|
200
|
+
validate: false
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
event: 'filter',
|
|
204
|
+
operation: 'retrieve_many',
|
|
205
|
+
validate: false
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
event: 'sort',
|
|
209
|
+
operation: 'retrieve_many',
|
|
210
|
+
validate: false
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
event: 'paginate',
|
|
214
|
+
operation: 'retrieve_many',
|
|
215
|
+
validate: false
|
|
216
|
+
}
|
|
217
|
+
],
|
|
218
|
+
// State Management
|
|
219
|
+
state: {
|
|
220
|
+
fields: ['entities', 'filters', 'sort', 'pagination', 'loading'],
|
|
221
|
+
persistence: 'session'
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
/**
|
|
225
|
+
* DetailView Pattern
|
|
226
|
+
*
|
|
227
|
+
* A data display view for showing a single entity with all its attributes.
|
|
228
|
+
* Supports editing, deleting, and navigating to related entities.
|
|
229
|
+
*/
|
|
230
|
+
export const DETAIL_VIEW_PATTERN = {
|
|
231
|
+
// Identity
|
|
232
|
+
id: 'detail-view',
|
|
233
|
+
name: 'DetailView',
|
|
234
|
+
version: '1.0.0',
|
|
235
|
+
description: 'Single entity detail display with edit and delete actions',
|
|
236
|
+
// Metadata
|
|
237
|
+
category: 'data-display',
|
|
238
|
+
tags: ['detail', 'view', 'entity', 'display', 'read-only'],
|
|
239
|
+
// Composition
|
|
240
|
+
requiredAtomicComponents: [
|
|
241
|
+
'card',
|
|
242
|
+
'container'
|
|
243
|
+
],
|
|
244
|
+
optionalAtomicComponents: [
|
|
245
|
+
'badge',
|
|
246
|
+
'button',
|
|
247
|
+
'tabs',
|
|
248
|
+
'card',
|
|
249
|
+
'list',
|
|
250
|
+
'table'
|
|
251
|
+
],
|
|
252
|
+
// Layout
|
|
253
|
+
layoutStrategy: {
|
|
254
|
+
type: 'single-column',
|
|
255
|
+
responsive: true,
|
|
256
|
+
sections: [
|
|
257
|
+
{
|
|
258
|
+
id: 'header',
|
|
259
|
+
title: 'Header',
|
|
260
|
+
fields: ['title', 'status', 'actions'],
|
|
261
|
+
layout: {
|
|
262
|
+
type: 'flex',
|
|
263
|
+
gap: 'medium'
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
id: 'main',
|
|
268
|
+
title: 'Main Content',
|
|
269
|
+
layout: {
|
|
270
|
+
type: 'two-column',
|
|
271
|
+
columns: 2,
|
|
272
|
+
gap: 'large'
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
id: 'relationships',
|
|
277
|
+
title: 'Related Data',
|
|
278
|
+
layout: {
|
|
279
|
+
type: 'grid',
|
|
280
|
+
columns: 2,
|
|
281
|
+
gap: 'medium'
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
]
|
|
285
|
+
},
|
|
286
|
+
// Data Bindings
|
|
287
|
+
dataBindings: {
|
|
288
|
+
source: 'controller',
|
|
289
|
+
operations: [
|
|
290
|
+
{
|
|
291
|
+
operation: 'retrieve',
|
|
292
|
+
params: ['id'],
|
|
293
|
+
returns: 'entity',
|
|
294
|
+
optimistic: false,
|
|
295
|
+
cache: {
|
|
296
|
+
enabled: true,
|
|
297
|
+
ttl: 300,
|
|
298
|
+
key: 'detail-{modelName}-{id}'
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
operation: 'update',
|
|
303
|
+
params: ['id'],
|
|
304
|
+
returns: 'entity',
|
|
305
|
+
optimistic: true,
|
|
306
|
+
cache: { enabled: false }
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
operation: 'delete',
|
|
310
|
+
params: ['id'],
|
|
311
|
+
returns: 'void',
|
|
312
|
+
optimistic: false,
|
|
313
|
+
cache: { enabled: false }
|
|
314
|
+
}
|
|
315
|
+
],
|
|
316
|
+
relationships: []
|
|
317
|
+
},
|
|
318
|
+
// Behavior
|
|
319
|
+
supportedOperations: ['retrieve', 'update', 'delete'],
|
|
320
|
+
eventHandlers: [
|
|
321
|
+
{
|
|
322
|
+
event: 'edit',
|
|
323
|
+
operation: 'update',
|
|
324
|
+
validate: true
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
event: 'delete',
|
|
328
|
+
operation: 'delete',
|
|
329
|
+
validate: false,
|
|
330
|
+
confirm: {
|
|
331
|
+
title: 'Confirm Delete',
|
|
332
|
+
message: 'Are you sure you want to delete this item?'
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
],
|
|
336
|
+
// State Management
|
|
337
|
+
state: {
|
|
338
|
+
fields: ['entity', 'loading', 'error', 'editMode'],
|
|
339
|
+
persistence: 'none'
|
|
340
|
+
}
|
|
341
|
+
};
|
|
342
|
+
/**
|
|
343
|
+
* DashboardView Pattern
|
|
344
|
+
*
|
|
345
|
+
* A multi-section dashboard for displaying aggregated data, metrics, and summaries.
|
|
346
|
+
* Supports customizable grid layouts with various widget types.
|
|
347
|
+
*/
|
|
348
|
+
export const DASHBOARD_VIEW_PATTERN = {
|
|
349
|
+
// Identity
|
|
350
|
+
id: 'dashboard-view',
|
|
351
|
+
name: 'DashboardView',
|
|
352
|
+
version: '1.0.0',
|
|
353
|
+
description: 'Multi-section dashboard with metrics, charts, and data summaries',
|
|
354
|
+
// Metadata
|
|
355
|
+
category: 'dashboard',
|
|
356
|
+
tags: ['dashboard', 'overview', 'metrics', 'analytics', 'summary'],
|
|
357
|
+
// Composition
|
|
358
|
+
requiredAtomicComponents: [
|
|
359
|
+
'grid',
|
|
360
|
+
'card'
|
|
361
|
+
],
|
|
362
|
+
optionalAtomicComponents: [
|
|
363
|
+
'chart',
|
|
364
|
+
'metric',
|
|
365
|
+
'table',
|
|
366
|
+
'list',
|
|
367
|
+
'badge',
|
|
368
|
+
'progress',
|
|
369
|
+
'stat'
|
|
370
|
+
],
|
|
371
|
+
// Layout
|
|
372
|
+
layoutStrategy: {
|
|
373
|
+
type: 'grid',
|
|
374
|
+
responsive: true,
|
|
375
|
+
columns: 12,
|
|
376
|
+
sections: [
|
|
377
|
+
{
|
|
378
|
+
id: 'metrics',
|
|
379
|
+
title: 'Key Metrics',
|
|
380
|
+
layout: {
|
|
381
|
+
type: 'grid',
|
|
382
|
+
columns: 4,
|
|
383
|
+
gap: 'medium'
|
|
384
|
+
}
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
id: 'charts',
|
|
388
|
+
title: 'Charts',
|
|
389
|
+
layout: {
|
|
390
|
+
type: 'grid',
|
|
391
|
+
columns: 2,
|
|
392
|
+
gap: 'large'
|
|
393
|
+
}
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
id: 'recent-activity',
|
|
397
|
+
title: 'Recent Activity',
|
|
398
|
+
layout: {
|
|
399
|
+
type: 'single-column',
|
|
400
|
+
gap: 'small'
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
]
|
|
404
|
+
},
|
|
405
|
+
// Data Bindings
|
|
406
|
+
dataBindings: {
|
|
407
|
+
source: 'service',
|
|
408
|
+
operations: [
|
|
409
|
+
{
|
|
410
|
+
operation: 'retrieve_many',
|
|
411
|
+
returns: 'entity-array',
|
|
412
|
+
optimistic: false,
|
|
413
|
+
cache: {
|
|
414
|
+
enabled: true,
|
|
415
|
+
ttl: 600,
|
|
416
|
+
key: 'dashboard-{component}'
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
],
|
|
420
|
+
relationships: []
|
|
421
|
+
},
|
|
422
|
+
// Behavior
|
|
423
|
+
supportedOperations: ['retrieve_many'],
|
|
424
|
+
eventHandlers: [
|
|
425
|
+
{
|
|
426
|
+
event: 'refresh',
|
|
427
|
+
operation: 'retrieve_many',
|
|
428
|
+
validate: false
|
|
429
|
+
}
|
|
430
|
+
],
|
|
431
|
+
// State Management
|
|
432
|
+
state: {
|
|
433
|
+
fields: ['metrics', 'charts', 'recentActivity', 'loading', 'lastUpdate'],
|
|
434
|
+
persistence: 'session'
|
|
435
|
+
},
|
|
436
|
+
// Customization
|
|
437
|
+
customization: {
|
|
438
|
+
allowedOverrides: ['layoutStrategy', 'sections', 'metrics'],
|
|
439
|
+
requiredOverrides: []
|
|
440
|
+
}
|
|
441
|
+
};
|
|
442
|
+
/**
|
|
443
|
+
* Composite Patterns Registry
|
|
444
|
+
*
|
|
445
|
+
* Central registry of all composite view patterns available in SpecVerse.
|
|
446
|
+
* Framework adapters and instance factories use this registry to generate
|
|
447
|
+
* framework-specific implementations.
|
|
448
|
+
*/
|
|
449
|
+
export const COMPOSITE_VIEW_PATTERNS = {
|
|
450
|
+
'form-view': FORM_VIEW_PATTERN,
|
|
451
|
+
'list-view': LIST_VIEW_PATTERN,
|
|
452
|
+
'detail-view': DETAIL_VIEW_PATTERN,
|
|
453
|
+
'dashboard-view': DASHBOARD_VIEW_PATTERN
|
|
454
|
+
};
|
|
455
|
+
/**
|
|
456
|
+
* Get a pattern by ID
|
|
457
|
+
*/
|
|
458
|
+
export function getPattern(id) {
|
|
459
|
+
return COMPOSITE_VIEW_PATTERNS[id];
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* Get all patterns by category
|
|
463
|
+
*/
|
|
464
|
+
export function getPatternsByCategory(category) {
|
|
465
|
+
return Object.values(COMPOSITE_VIEW_PATTERNS).filter(pattern => pattern.category === category);
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* Get all patterns by tag
|
|
469
|
+
*/
|
|
470
|
+
export function getPatternsByTag(tag) {
|
|
471
|
+
return Object.values(COMPOSITE_VIEW_PATTERNS).filter(pattern => pattern.tags.includes(tag));
|
|
472
|
+
}
|
|
473
|
+
/**
|
|
474
|
+
* Get all pattern IDs
|
|
475
|
+
*/
|
|
476
|
+
export function getPatternIds() {
|
|
477
|
+
return Object.keys(COMPOSITE_VIEW_PATTERNS);
|
|
478
|
+
}
|
|
479
|
+
/**
|
|
480
|
+
* Check if a pattern exists
|
|
481
|
+
*/
|
|
482
|
+
export function hasPattern(id) {
|
|
483
|
+
return id in COMPOSITE_VIEW_PATTERNS;
|
|
484
|
+
}
|
|
485
|
+
//# sourceMappingURL=composite-patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composite-patterns.js","sourceRoot":"","sources":["../../../../src/runtime/views/core/composite-patterns.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,34 @@
|
|
|
18
18
|
* 6. Truncated ID as last resort
|
|
19
19
|
*/
|
|
20
20
|
export declare function getEntityDisplayName(entity: any, allEntities?: Record<string, any[]>): string;
|
|
21
|
+
/**
|
|
22
|
+
* Get the canonical entity ID (UUID preferred, falls back to internal ID).
|
|
23
|
+
* Use this everywhere instead of raw entity.id to ensure consistency
|
|
24
|
+
* across app-demo (internal IDs) and realized projects (Prisma UUIDs).
|
|
25
|
+
*/
|
|
26
|
+
export declare function getEntityId(entity: any): string;
|
|
27
|
+
/**
|
|
28
|
+
* Find an entity in a list by UUID (or internal ID fallback).
|
|
29
|
+
*/
|
|
30
|
+
export declare function findEntityById(entities: any[], id: string): any | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Format a value for display in table cells and views.
|
|
33
|
+
* Handles null, boolean, dates, arrays, nested objects.
|
|
34
|
+
* Single source of truth — use this instead of per-component formatters.
|
|
35
|
+
*/
|
|
36
|
+
export declare function formatDisplayValue(value: any): string;
|
|
37
|
+
/**
|
|
38
|
+
* Format a DateTime value for an HTML datetime-local input.
|
|
39
|
+
*/
|
|
40
|
+
export declare function formatDateTimeForInput(value: any): string;
|
|
41
|
+
/**
|
|
42
|
+
* Format a Date value for an HTML date input.
|
|
43
|
+
*/
|
|
44
|
+
export declare function formatDateForInput(value: any): string;
|
|
45
|
+
/**
|
|
46
|
+
* Get the foreign key field name for a relationship.
|
|
47
|
+
*/
|
|
48
|
+
export declare function getForeignKeyName(relName: string, relDef?: any): string;
|
|
21
49
|
/**
|
|
22
50
|
* Humanize a field name for display.
|
|
23
51
|
* Converts camelCase/snake_case to human-readable format.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-display.d.ts","sourceRoot":"","sources":["../../../../src/runtime/views/core/entity-display.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,GAAG,EACX,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAM,GACtC,MAAM,CAiGR;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAO3D"}
|
|
1
|
+
{"version":3,"file":"entity-display.d.ts","sourceRoot":"","sources":["../../../../src/runtime/views/core/entity-display.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,GAAG,EACX,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAM,GACtC,MAAM,CAiGR;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAG3E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAerD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAGzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAGrD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,MAAM,CAEvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAO3D"}
|
|
@@ -103,6 +103,81 @@ export function getEntityDisplayName(entity, allEntities = {}) {
|
|
|
103
103
|
}
|
|
104
104
|
return entity.id || 'Unknown';
|
|
105
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Get the canonical entity ID (UUID preferred, falls back to internal ID).
|
|
108
|
+
* Use this everywhere instead of raw entity.id to ensure consistency
|
|
109
|
+
* across app-demo (internal IDs) and realized projects (Prisma UUIDs).
|
|
110
|
+
*/
|
|
111
|
+
export function getEntityId(entity) {
|
|
112
|
+
return entity?.data?.id || entity?.id || '';
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Find an entity in a list by UUID (or internal ID fallback).
|
|
116
|
+
*/
|
|
117
|
+
export function findEntityById(entities, id) {
|
|
118
|
+
if (!id || !entities?.length)
|
|
119
|
+
return undefined;
|
|
120
|
+
return entities.find((e) => getEntityId(e) === id);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Format a value for display in table cells and views.
|
|
124
|
+
* Handles null, boolean, dates, arrays, nested objects.
|
|
125
|
+
* Single source of truth — use this instead of per-component formatters.
|
|
126
|
+
*/
|
|
127
|
+
export function formatDisplayValue(value) {
|
|
128
|
+
if (value === null || value === undefined)
|
|
129
|
+
return '-';
|
|
130
|
+
if (typeof value === 'boolean')
|
|
131
|
+
return value ? 'Yes' : 'No';
|
|
132
|
+
if (value instanceof Date)
|
|
133
|
+
return value.toLocaleString();
|
|
134
|
+
if (typeof value === 'string' && value.match(/^\d{4}-\d{2}-\d{2}T/)) {
|
|
135
|
+
return new Date(value).toLocaleString();
|
|
136
|
+
}
|
|
137
|
+
if (Array.isArray(value))
|
|
138
|
+
return `[${value.length} items]`;
|
|
139
|
+
if (typeof value === 'object') {
|
|
140
|
+
const keys = Object.keys(value);
|
|
141
|
+
if (keys.length === 0)
|
|
142
|
+
return '{}';
|
|
143
|
+
if (keys.length <= 5)
|
|
144
|
+
return keys.map(k => `${k}: ${formatDisplayValue(value[k])}`).join(', ');
|
|
145
|
+
return `{${keys.length} fields}`;
|
|
146
|
+
}
|
|
147
|
+
return String(value);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Format a DateTime value for an HTML datetime-local input.
|
|
151
|
+
*/
|
|
152
|
+
export function formatDateTimeForInput(value) {
|
|
153
|
+
if (!value)
|
|
154
|
+
return '';
|
|
155
|
+
try {
|
|
156
|
+
return new Date(value).toISOString().slice(0, 16);
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return '';
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Format a Date value for an HTML date input.
|
|
164
|
+
*/
|
|
165
|
+
export function formatDateForInput(value) {
|
|
166
|
+
if (!value)
|
|
167
|
+
return '';
|
|
168
|
+
try {
|
|
169
|
+
return new Date(value).toISOString().slice(0, 10);
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
return '';
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Get the foreign key field name for a relationship.
|
|
177
|
+
*/
|
|
178
|
+
export function getForeignKeyName(relName, relDef) {
|
|
179
|
+
return relDef?.foreignKey || `${relName}Id`;
|
|
180
|
+
}
|
|
106
181
|
/**
|
|
107
182
|
* Humanize a field name for display.
|
|
108
183
|
* Converts camelCase/snake_case to human-readable format.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-display.js","sourceRoot":"","sources":["../../../../src/runtime/views/core/entity-display.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entity-display.js","sourceRoot":"","sources":["../../../../src/runtime/views/core/entity-display.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export * from './entity-display.js';
|
|
2
2
|
export * from './field-classification.js';
|
|
3
|
-
export * from './pattern-
|
|
3
|
+
export * from './composite-pattern-types.js';
|
|
4
|
+
export * from './composite-patterns.js';
|
|
5
|
+
export * from './atomic-components-registry.js';
|
|
6
|
+
export { detectPattern, inferFieldsFromSchema, inferFieldsFromModel, CURVED_PROTOCOL_MAPPING, type PatternDetectionResult, type ProtocolMapping, } from './pattern-engine.js';
|
|
4
7
|
export * from './types.js';
|
|
5
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/views/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/views/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAEhD,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,GACrB,MAAM,qBAAqB,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export * from './entity-display.js';
|
|
2
2
|
export * from './field-classification.js';
|
|
3
|
-
export * from './pattern-
|
|
3
|
+
export * from './composite-pattern-types.js';
|
|
4
|
+
export * from './composite-patterns.js';
|
|
5
|
+
export * from './atomic-components-registry.js';
|
|
6
|
+
// pattern-engine re-exports CURVEDOperation from composite-pattern-types, so import selectively
|
|
7
|
+
export { detectPattern, inferFieldsFromSchema, inferFieldsFromModel, CURVED_PROTOCOL_MAPPING, } from './pattern-engine.js';
|
|
4
8
|
export * from './types.js';
|
|
5
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/views/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/views/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,gGAAgG;AAChG,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,GAGxB,MAAM,qBAAqB,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|