@object-ui/types 0.3.1 → 0.5.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 (97) hide show
  1. package/dist/app.d.ts +10 -0
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/blocks.d.ts +332 -0
  4. package/dist/blocks.d.ts.map +1 -0
  5. package/dist/blocks.js +8 -0
  6. package/dist/crud.d.ts +174 -3
  7. package/dist/crud.d.ts.map +1 -1
  8. package/dist/data-protocol.d.ts +1268 -0
  9. package/dist/data-protocol.d.ts.map +1 -0
  10. package/dist/data-protocol.js +8 -0
  11. package/dist/data.d.ts +6 -1
  12. package/dist/data.d.ts.map +1 -1
  13. package/dist/field-types.d.ts +353 -11
  14. package/dist/field-types.d.ts.map +1 -1
  15. package/dist/index.d.ts +28 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/objectql.d.ts +8 -1
  18. package/dist/objectql.d.ts.map +1 -1
  19. package/dist/plugin-scope.d.ts +194 -0
  20. package/dist/plugin-scope.d.ts.map +1 -0
  21. package/dist/plugin-scope.js +8 -0
  22. package/dist/reports.d.ts +336 -0
  23. package/dist/reports.d.ts.map +1 -0
  24. package/dist/reports.js +8 -0
  25. package/dist/theme.d.ts +289 -0
  26. package/dist/theme.d.ts.map +1 -0
  27. package/dist/theme.js +8 -0
  28. package/dist/ui-action.d.ts +175 -0
  29. package/dist/ui-action.d.ts.map +1 -0
  30. package/dist/ui-action.js +8 -0
  31. package/dist/views.d.ts +417 -0
  32. package/dist/views.d.ts.map +1 -0
  33. package/dist/views.js +8 -0
  34. package/dist/zod/app.zod.d.ts +120 -0
  35. package/dist/zod/app.zod.d.ts.map +1 -0
  36. package/dist/zod/app.zod.js +60 -0
  37. package/dist/zod/blocks.zod.d.ts +834 -0
  38. package/dist/zod/blocks.zod.d.ts.map +1 -0
  39. package/dist/zod/blocks.zod.js +145 -0
  40. package/dist/zod/complex.zod.js +1 -1
  41. package/dist/zod/crud.zod.d.ts +598 -0
  42. package/dist/zod/crud.zod.d.ts.map +1 -0
  43. package/dist/zod/crud.zod.js +230 -0
  44. package/dist/zod/data-display.zod.js +1 -1
  45. package/dist/zod/disclosure.zod.js +1 -1
  46. package/dist/zod/feedback.zod.js +1 -1
  47. package/dist/zod/form.zod.js +1 -1
  48. package/dist/zod/index.zod.d.ts +1829 -18
  49. package/dist/zod/index.zod.d.ts.map +1 -1
  50. package/dist/zod/index.zod.js +96 -19
  51. package/dist/zod/layout.zod.d.ts +2 -2
  52. package/dist/zod/layout.zod.js +1 -1
  53. package/dist/zod/navigation.zod.js +1 -1
  54. package/dist/zod/objectql.zod.d.ts +10 -10
  55. package/dist/zod/objectql.zod.js +1 -1
  56. package/dist/zod/overlay.zod.js +1 -1
  57. package/dist/zod/reports.zod.d.ts +1628 -0
  58. package/dist/zod/reports.zod.d.ts.map +1 -0
  59. package/dist/zod/reports.zod.js +152 -0
  60. package/dist/zod/theme.zod.d.ts +611 -0
  61. package/dist/zod/theme.zod.d.ts.map +1 -0
  62. package/dist/zod/theme.zod.js +130 -0
  63. package/dist/zod/views.zod.d.ts +675 -0
  64. package/dist/zod/views.zod.d.ts.map +1 -0
  65. package/dist/zod/views.zod.js +159 -0
  66. package/package.json +2 -2
  67. package/src/__tests__/namespace-exports.test.ts +80 -0
  68. package/src/__tests__/phase2-schemas.test.ts +639 -0
  69. package/src/app.ts +12 -0
  70. package/src/blocks.ts +405 -0
  71. package/src/crud.ts +177 -3
  72. package/src/data-protocol.ts +1679 -0
  73. package/src/data.ts +3 -1
  74. package/src/field-types.ts +392 -11
  75. package/src/index.ts +214 -0
  76. package/src/objectql.ts +9 -1
  77. package/src/plugin-scope.ts +210 -0
  78. package/src/reports.ts +408 -0
  79. package/src/theme.ts +351 -0
  80. package/src/ui-action.ts +276 -0
  81. package/src/views.ts +429 -0
  82. package/src/zod/app.zod.ts +72 -0
  83. package/src/zod/blocks.zod.ts +170 -0
  84. package/src/zod/complex.zod.ts +1 -1
  85. package/src/zod/crud.zod.ts +259 -0
  86. package/src/zod/data-display.zod.ts +1 -1
  87. package/src/zod/disclosure.zod.ts +1 -1
  88. package/src/zod/feedback.zod.ts +1 -1
  89. package/src/zod/form.zod.ts +1 -1
  90. package/src/zod/index.zod.ts +167 -19
  91. package/src/zod/layout.zod.ts +1 -1
  92. package/src/zod/navigation.zod.ts +1 -1
  93. package/src/zod/objectql.zod.ts +1 -1
  94. package/src/zod/overlay.zod.ts +1 -1
  95. package/src/zod/reports.zod.ts +183 -0
  96. package/src/zod/theme.zod.ts +155 -0
  97. package/src/zod/views.zod.ts +182 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocks.zod.d.ts","sourceRoot":"","sources":["../../src/zod/blocks.zod.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;iBAS9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;iBAQ1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;iBAa9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUtB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAS5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;iBAO9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;iBAK1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAM/B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAC1D,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAChF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACxE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACtE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ /**
9
+ * @object-ui/types/zod - Block Schema Zod Validators
10
+ *
11
+ * Zod validation schemas for reusable component blocks.
12
+ * Following @objectstack/spec UI specification format.
13
+ *
14
+ * @module zod/blocks
15
+ * @packageDocumentation
16
+ */
17
+ import { z } from 'zod';
18
+ import { BaseSchema, SchemaNodeSchema } from './base.zod.js';
19
+ /**
20
+ * Block Variable Schema
21
+ */
22
+ export const BlockVariableSchema = z.object({
23
+ name: z.string().describe('Variable name'),
24
+ label: z.string().optional().describe('Display label'),
25
+ type: z.enum(['string', 'number', 'boolean', 'object', 'array', 'component']).optional().describe('Variable type'),
26
+ defaultValue: z.any().optional().describe('Default value'),
27
+ description: z.string().optional().describe('Description/help text'),
28
+ required: z.boolean().optional().describe('Whether this variable is required'),
29
+ validation: z.any().optional().describe('Validation rules'),
30
+ enum: z.array(z.any()).optional().describe('Enum options (for string/number types)'),
31
+ });
32
+ /**
33
+ * Block Slot Schema
34
+ */
35
+ export const BlockSlotSchema = z.object({
36
+ name: z.string().describe('Slot name'),
37
+ label: z.string().optional().describe('Display label'),
38
+ description: z.string().optional().describe('Description'),
39
+ defaultContent: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).optional().describe('Default content'),
40
+ allowedTypes: z.array(z.string()).optional().describe('Allowed component types'),
41
+ maxChildren: z.number().optional().describe('Maximum number of children'),
42
+ required: z.boolean().optional().describe('Whether this slot is required'),
43
+ });
44
+ /**
45
+ * Block Metadata Schema
46
+ */
47
+ export const BlockMetadataSchema = z.object({
48
+ name: z.string().describe('Block name/identifier'),
49
+ label: z.string().optional().describe('Display label'),
50
+ description: z.string().optional().describe('Block description'),
51
+ category: z.string().optional().describe('Block category'),
52
+ icon: z.string().optional().describe('Block icon'),
53
+ tags: z.array(z.string()).optional().describe('Block tags for search'),
54
+ author: z.string().optional().describe('Author/creator'),
55
+ version: z.string().optional().describe('Version'),
56
+ license: z.string().optional().describe('License'),
57
+ repository: z.string().optional().describe('Repository URL'),
58
+ preview: z.string().optional().describe('Preview image URL'),
59
+ premium: z.boolean().optional().describe('Is this a premium/paid block'),
60
+ });
61
+ /**
62
+ * Block Schema
63
+ */
64
+ export const BlockSchema = BaseSchema.extend({
65
+ type: z.literal('block'),
66
+ meta: BlockMetadataSchema.optional().describe('Block metadata'),
67
+ variables: z.array(BlockVariableSchema).optional().describe('Block variables/props'),
68
+ slots: z.array(BlockSlotSchema).optional().describe('Block slots for content injection'),
69
+ template: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).optional().describe('Block template (component tree)'),
70
+ values: z.record(z.string(), z.any()).optional().describe('Variable values (when using a block)'),
71
+ slotContent: z.record(z.string(), z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)])).optional().describe('Slot content (when using a block)'),
72
+ blockRef: z.string().optional().describe('Block reference (for reusing saved blocks)'),
73
+ editable: z.boolean().optional().describe('Enable edit mode'),
74
+ });
75
+ /**
76
+ * Block Library Item Schema
77
+ */
78
+ export const BlockLibraryItemSchema = z.object({
79
+ id: z.string().describe('Unique identifier'),
80
+ meta: BlockMetadataSchema.describe('Block metadata'),
81
+ schema: BlockSchema.describe('Block schema'),
82
+ installs: z.number().optional().describe('Installation count'),
83
+ rating: z.number().optional().describe('Rating (1-5)'),
84
+ ratingCount: z.number().optional().describe('Number of ratings'),
85
+ updatedAt: z.string().optional().describe('Last updated timestamp'),
86
+ createdAt: z.string().optional().describe('Created timestamp'),
87
+ });
88
+ /**
89
+ * Block Library Schema
90
+ */
91
+ export const BlockLibrarySchema = BaseSchema.extend({
92
+ type: z.literal('block-library'),
93
+ apiEndpoint: z.string().optional().describe('Library API endpoint'),
94
+ category: z.string().optional().describe('Filter by category'),
95
+ searchQuery: z.string().optional().describe('Search query'),
96
+ tags: z.array(z.string()).optional().describe('Filter by tags'),
97
+ showPremium: z.boolean().optional().describe('Show premium blocks'),
98
+ blocks: z.array(BlockLibraryItemSchema).optional().describe('Blocks to display'),
99
+ loading: z.boolean().optional().describe('Loading state'),
100
+ onInstall: z.string().optional().describe('Install callback'),
101
+ onPreview: z.string().optional().describe('Preview callback'),
102
+ });
103
+ /**
104
+ * Block Editor Schema
105
+ */
106
+ export const BlockEditorSchema = BaseSchema.extend({
107
+ type: z.literal('block-editor'),
108
+ block: BlockSchema.optional().describe('Block being edited'),
109
+ showVariables: z.boolean().optional().describe('Show variable editor'),
110
+ showSlots: z.boolean().optional().describe('Show slot editor'),
111
+ showTemplate: z.boolean().optional().describe('Show template editor'),
112
+ showPreview: z.boolean().optional().describe('Show preview'),
113
+ onSave: z.string().optional().describe('Save callback'),
114
+ onCancel: z.string().optional().describe('Cancel callback'),
115
+ });
116
+ /**
117
+ * Block Instance Schema
118
+ */
119
+ export const BlockInstanceSchema = BaseSchema.extend({
120
+ type: z.literal('block-instance'),
121
+ blockId: z.string().describe('Block reference ID'),
122
+ blockName: z.string().optional().describe('Block name (for local blocks)'),
123
+ values: z.record(z.string(), z.any()).optional().describe('Variable values'),
124
+ slotContent: z.record(z.string(), z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)])).optional().describe('Slot content'),
125
+ overrideStyles: z.boolean().optional().describe('Override styles'),
126
+ });
127
+ /**
128
+ * Component Schema
129
+ */
130
+ export const ComponentSchema = BaseSchema.extend({
131
+ type: z.literal('component'),
132
+ componentName: z.string().optional().describe('Component name/identifier'),
133
+ props: z.record(z.string(), z.any()).optional().describe('Component props'),
134
+ children: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).optional().describe('Component children'),
135
+ });
136
+ /**
137
+ * Union of all block schemas
138
+ */
139
+ export const BlockComponentSchema = z.union([
140
+ BlockSchema,
141
+ BlockLibrarySchema,
142
+ BlockEditorSchema,
143
+ BlockInstanceSchema,
144
+ ComponentSchema,
145
+ ]);
@@ -15,7 +15,7 @@
15
15
  * @packageDocumentation
16
16
  */
17
17
  import { z } from 'zod';
18
- import { BaseSchema, SchemaNodeSchema } from './base.zod';
18
+ import { BaseSchema, SchemaNodeSchema } from './base.zod.js';
19
19
  /**
20
20
  * Kanban Card Schema
21
21
  */