@glyphjs/schemas 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.
- package/LICENSE +21 -0
- package/README.md +41 -0
- package/dist/index.cjs +433 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1311 -0
- package/dist/index.d.ts +1311 -0
- package/dist/index.js +409 -0
- package/dist/index.js.map +1 -0
- package/package.json +63 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Glyph JS Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# @glyphjs/schemas
|
|
2
|
+
|
|
3
|
+
Zod schemas for Glyph JS UI components with automatic JSON Schema generation.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm add @glyphjs/schemas
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { graphSchema, tableSchema, getJsonSchema } from '@glyphjs/schemas';
|
|
15
|
+
|
|
16
|
+
// Validate component data at runtime
|
|
17
|
+
const result = graphSchema.safeParse({
|
|
18
|
+
nodes: [{ id: 'a', label: 'Node A' }],
|
|
19
|
+
edges: [{ from: 'a', to: 'b' }],
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
// Generate JSON Schema for any component
|
|
23
|
+
const jsonSchema = getJsonSchema('graph');
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Available schemas
|
|
27
|
+
|
|
28
|
+
| Schema | Component |
|
|
29
|
+
| ---------------- | ---------------------------- |
|
|
30
|
+
| `graphSchema` | Directed graphs / flowcharts |
|
|
31
|
+
| `tableSchema` | Data tables |
|
|
32
|
+
| `chartSchema` | Bar, line, and area charts |
|
|
33
|
+
| `relationSchema` | Entity-relationship diagrams |
|
|
34
|
+
| `timelineSchema` | Chronological timelines |
|
|
35
|
+
| `calloutSchema` | Callout / admonition blocks |
|
|
36
|
+
| `tabsSchema` | Tabbed content panels |
|
|
37
|
+
| `stepsSchema` | Step-by-step sequences |
|
|
38
|
+
|
|
39
|
+
## Docs
|
|
40
|
+
|
|
41
|
+
https://github.com/VledicFranco/glyphjs
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,433 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var zod = require('zod');
|
|
4
|
+
var zodToJsonSchema = require('zod-to-json-schema');
|
|
5
|
+
|
|
6
|
+
// src/graph.ts
|
|
7
|
+
var graphSchema = zod.z.object({
|
|
8
|
+
type: zod.z.enum(["dag", "flowchart", "mindmap", "force"]),
|
|
9
|
+
nodes: zod.z.array(
|
|
10
|
+
zod.z.object({
|
|
11
|
+
id: zod.z.string(),
|
|
12
|
+
label: zod.z.string(),
|
|
13
|
+
type: zod.z.string().optional(),
|
|
14
|
+
style: zod.z.record(zod.z.string()).optional(),
|
|
15
|
+
group: zod.z.string().optional()
|
|
16
|
+
})
|
|
17
|
+
),
|
|
18
|
+
edges: zod.z.array(
|
|
19
|
+
zod.z.object({
|
|
20
|
+
from: zod.z.string(),
|
|
21
|
+
to: zod.z.string(),
|
|
22
|
+
label: zod.z.string().optional(),
|
|
23
|
+
type: zod.z.string().optional(),
|
|
24
|
+
style: zod.z.record(zod.z.string()).optional()
|
|
25
|
+
})
|
|
26
|
+
),
|
|
27
|
+
layout: zod.z.enum(["top-down", "left-right", "bottom-up", "radial", "force"]).optional()
|
|
28
|
+
});
|
|
29
|
+
var tableSchema = zod.z.object({
|
|
30
|
+
columns: zod.z.array(
|
|
31
|
+
zod.z.object({
|
|
32
|
+
key: zod.z.string(),
|
|
33
|
+
label: zod.z.string(),
|
|
34
|
+
sortable: zod.z.boolean().optional(),
|
|
35
|
+
filterable: zod.z.boolean().optional(),
|
|
36
|
+
type: zod.z.enum(["string", "number", "date", "boolean"]).optional()
|
|
37
|
+
})
|
|
38
|
+
),
|
|
39
|
+
rows: zod.z.array(zod.z.record(zod.z.unknown())),
|
|
40
|
+
aggregation: zod.z.array(
|
|
41
|
+
zod.z.object({
|
|
42
|
+
column: zod.z.string(),
|
|
43
|
+
function: zod.z.enum(["sum", "avg", "count", "min", "max"])
|
|
44
|
+
})
|
|
45
|
+
).optional()
|
|
46
|
+
});
|
|
47
|
+
var chartSchema = zod.z.object({
|
|
48
|
+
type: zod.z.enum(["line", "bar", "area", "ohlc"]),
|
|
49
|
+
series: zod.z.array(
|
|
50
|
+
zod.z.object({
|
|
51
|
+
name: zod.z.string(),
|
|
52
|
+
data: zod.z.array(zod.z.record(zod.z.union([zod.z.number(), zod.z.string()])))
|
|
53
|
+
})
|
|
54
|
+
),
|
|
55
|
+
xAxis: zod.z.object({ key: zod.z.string(), label: zod.z.string().optional() }).optional(),
|
|
56
|
+
yAxis: zod.z.object({ key: zod.z.string(), label: zod.z.string().optional() }).optional(),
|
|
57
|
+
legend: zod.z.boolean().optional()
|
|
58
|
+
});
|
|
59
|
+
var relationSchema = zod.z.object({
|
|
60
|
+
entities: zod.z.array(
|
|
61
|
+
zod.z.object({
|
|
62
|
+
id: zod.z.string(),
|
|
63
|
+
label: zod.z.string(),
|
|
64
|
+
attributes: zod.z.array(
|
|
65
|
+
zod.z.object({
|
|
66
|
+
name: zod.z.string(),
|
|
67
|
+
type: zod.z.string(),
|
|
68
|
+
primaryKey: zod.z.boolean().optional()
|
|
69
|
+
})
|
|
70
|
+
).optional()
|
|
71
|
+
})
|
|
72
|
+
),
|
|
73
|
+
relationships: zod.z.array(
|
|
74
|
+
zod.z.object({
|
|
75
|
+
from: zod.z.string(),
|
|
76
|
+
to: zod.z.string(),
|
|
77
|
+
label: zod.z.string().optional(),
|
|
78
|
+
cardinality: zod.z.enum(["1:1", "1:N", "N:1", "N:M"])
|
|
79
|
+
})
|
|
80
|
+
),
|
|
81
|
+
layout: zod.z.enum(["top-down", "left-right"]).optional()
|
|
82
|
+
});
|
|
83
|
+
var timelineSchema = zod.z.object({
|
|
84
|
+
events: zod.z.array(
|
|
85
|
+
zod.z.object({
|
|
86
|
+
date: zod.z.string(),
|
|
87
|
+
title: zod.z.string(),
|
|
88
|
+
description: zod.z.string().optional(),
|
|
89
|
+
type: zod.z.string().optional()
|
|
90
|
+
})
|
|
91
|
+
),
|
|
92
|
+
orientation: zod.z.enum(["vertical", "horizontal"]).optional()
|
|
93
|
+
});
|
|
94
|
+
var calloutSchema = zod.z.object({
|
|
95
|
+
type: zod.z.enum(["info", "warning", "error", "tip"]),
|
|
96
|
+
title: zod.z.string().optional(),
|
|
97
|
+
content: zod.z.string()
|
|
98
|
+
});
|
|
99
|
+
var tabsSchema = zod.z.object({
|
|
100
|
+
tabs: zod.z.array(
|
|
101
|
+
zod.z.object({
|
|
102
|
+
label: zod.z.string(),
|
|
103
|
+
content: zod.z.string()
|
|
104
|
+
})
|
|
105
|
+
)
|
|
106
|
+
});
|
|
107
|
+
var stepsSchema = zod.z.object({
|
|
108
|
+
steps: zod.z.array(
|
|
109
|
+
zod.z.object({
|
|
110
|
+
title: zod.z.string(),
|
|
111
|
+
status: zod.z.enum(["pending", "active", "completed"]).optional(),
|
|
112
|
+
content: zod.z.string()
|
|
113
|
+
})
|
|
114
|
+
)
|
|
115
|
+
});
|
|
116
|
+
var iconEnum = zod.z.enum([
|
|
117
|
+
"server",
|
|
118
|
+
"database",
|
|
119
|
+
"queue",
|
|
120
|
+
"cache",
|
|
121
|
+
"loadbalancer",
|
|
122
|
+
"function",
|
|
123
|
+
"storage",
|
|
124
|
+
"gateway",
|
|
125
|
+
"user",
|
|
126
|
+
"cloud",
|
|
127
|
+
"container",
|
|
128
|
+
"network"
|
|
129
|
+
]);
|
|
130
|
+
var baseNode = zod.z.object({
|
|
131
|
+
id: zod.z.string(),
|
|
132
|
+
label: zod.z.string(),
|
|
133
|
+
icon: iconEnum.optional(),
|
|
134
|
+
type: zod.z.literal("zone").optional(),
|
|
135
|
+
style: zod.z.record(zod.z.string()).optional()
|
|
136
|
+
});
|
|
137
|
+
var architectureNodeSchema = baseNode.extend({
|
|
138
|
+
children: zod.z.lazy(() => zod.z.array(architectureNodeSchema)).optional()
|
|
139
|
+
});
|
|
140
|
+
var architectureSchema = zod.z.object({
|
|
141
|
+
title: zod.z.string().optional(),
|
|
142
|
+
children: zod.z.array(architectureNodeSchema),
|
|
143
|
+
edges: zod.z.array(
|
|
144
|
+
zod.z.object({
|
|
145
|
+
from: zod.z.string(),
|
|
146
|
+
to: zod.z.string(),
|
|
147
|
+
label: zod.z.string().optional(),
|
|
148
|
+
type: zod.z.enum(["sync", "async", "data"]).optional(),
|
|
149
|
+
style: zod.z.record(zod.z.string()).optional()
|
|
150
|
+
})
|
|
151
|
+
),
|
|
152
|
+
layout: zod.z.enum(["top-down", "left-right", "bottom-up"]).optional()
|
|
153
|
+
});
|
|
154
|
+
var kpiSchema = zod.z.object({
|
|
155
|
+
title: zod.z.string().optional(),
|
|
156
|
+
metrics: zod.z.array(
|
|
157
|
+
zod.z.object({
|
|
158
|
+
label: zod.z.string(),
|
|
159
|
+
value: zod.z.string(),
|
|
160
|
+
delta: zod.z.string().optional(),
|
|
161
|
+
trend: zod.z.enum(["up", "down", "flat"]).optional(),
|
|
162
|
+
sentiment: zod.z.enum(["positive", "negative", "neutral"]).optional(),
|
|
163
|
+
unit: zod.z.string().optional()
|
|
164
|
+
})
|
|
165
|
+
).min(1).max(8),
|
|
166
|
+
columns: zod.z.number().min(1).max(4).optional()
|
|
167
|
+
});
|
|
168
|
+
var accordionSchema = zod.z.object({
|
|
169
|
+
title: zod.z.string().optional(),
|
|
170
|
+
sections: zod.z.array(
|
|
171
|
+
zod.z.object({
|
|
172
|
+
title: zod.z.string(),
|
|
173
|
+
content: zod.z.string()
|
|
174
|
+
})
|
|
175
|
+
).min(1),
|
|
176
|
+
defaultOpen: zod.z.array(zod.z.number()).optional(),
|
|
177
|
+
multiple: zod.z.boolean().default(true)
|
|
178
|
+
});
|
|
179
|
+
var comparisonSchema = zod.z.object({
|
|
180
|
+
title: zod.z.string().optional(),
|
|
181
|
+
options: zod.z.array(
|
|
182
|
+
zod.z.object({
|
|
183
|
+
name: zod.z.string(),
|
|
184
|
+
description: zod.z.string().optional()
|
|
185
|
+
})
|
|
186
|
+
).min(2).max(6),
|
|
187
|
+
features: zod.z.array(
|
|
188
|
+
zod.z.object({
|
|
189
|
+
name: zod.z.string(),
|
|
190
|
+
values: zod.z.array(zod.z.string())
|
|
191
|
+
})
|
|
192
|
+
).min(1)
|
|
193
|
+
}).refine((data) => data.features.every((f) => f.values.length === data.options.length), {
|
|
194
|
+
message: "Each feature must have one value per option"
|
|
195
|
+
});
|
|
196
|
+
var codediffSchema = zod.z.object({
|
|
197
|
+
language: zod.z.string().optional(),
|
|
198
|
+
before: zod.z.string(),
|
|
199
|
+
after: zod.z.string(),
|
|
200
|
+
beforeLabel: zod.z.string().optional(),
|
|
201
|
+
afterLabel: zod.z.string().optional()
|
|
202
|
+
});
|
|
203
|
+
var flowchartSchema = zod.z.object({
|
|
204
|
+
title: zod.z.string().optional(),
|
|
205
|
+
nodes: zod.z.array(
|
|
206
|
+
zod.z.object({
|
|
207
|
+
id: zod.z.string(),
|
|
208
|
+
type: zod.z.enum(["start", "end", "process", "decision"]).default("process"),
|
|
209
|
+
label: zod.z.string()
|
|
210
|
+
})
|
|
211
|
+
).min(2),
|
|
212
|
+
edges: zod.z.array(
|
|
213
|
+
zod.z.object({
|
|
214
|
+
from: zod.z.string(),
|
|
215
|
+
to: zod.z.string(),
|
|
216
|
+
label: zod.z.string().optional()
|
|
217
|
+
})
|
|
218
|
+
).min(1),
|
|
219
|
+
direction: zod.z.enum(["top-down", "left-right"]).default("top-down")
|
|
220
|
+
});
|
|
221
|
+
var fileNodeSchema = zod.z.object({
|
|
222
|
+
name: zod.z.string(),
|
|
223
|
+
annotation: zod.z.string().optional(),
|
|
224
|
+
children: zod.z.array(zod.z.lazy(() => fileNodeSchema)).optional()
|
|
225
|
+
});
|
|
226
|
+
var filetreeSchema = zod.z.object({
|
|
227
|
+
root: zod.z.string().optional(),
|
|
228
|
+
tree: zod.z.array(fileNodeSchema).min(1),
|
|
229
|
+
defaultExpanded: zod.z.boolean().default(true)
|
|
230
|
+
});
|
|
231
|
+
var sequenceSchema = zod.z.object({
|
|
232
|
+
title: zod.z.string().optional(),
|
|
233
|
+
actors: zod.z.array(
|
|
234
|
+
zod.z.object({
|
|
235
|
+
id: zod.z.string(),
|
|
236
|
+
label: zod.z.string()
|
|
237
|
+
})
|
|
238
|
+
).min(2),
|
|
239
|
+
messages: zod.z.array(
|
|
240
|
+
zod.z.object({
|
|
241
|
+
from: zod.z.string(),
|
|
242
|
+
to: zod.z.string(),
|
|
243
|
+
label: zod.z.string(),
|
|
244
|
+
type: zod.z.enum(["message", "reply", "self"]).default("message")
|
|
245
|
+
})
|
|
246
|
+
).min(1)
|
|
247
|
+
});
|
|
248
|
+
var mindmapNodeSchema = zod.z.object({
|
|
249
|
+
label: zod.z.string(),
|
|
250
|
+
children: zod.z.array(zod.z.lazy(() => mindmapNodeSchema)).optional()
|
|
251
|
+
});
|
|
252
|
+
var mindmapSchema = zod.z.object({
|
|
253
|
+
root: zod.z.string(),
|
|
254
|
+
children: zod.z.array(mindmapNodeSchema).min(1),
|
|
255
|
+
layout: zod.z.enum(["radial", "tree"]).default("radial")
|
|
256
|
+
});
|
|
257
|
+
var equationSchema = zod.z.object({
|
|
258
|
+
expression: zod.z.string().optional(),
|
|
259
|
+
label: zod.z.string().optional(),
|
|
260
|
+
steps: zod.z.array(
|
|
261
|
+
zod.z.object({
|
|
262
|
+
expression: zod.z.string(),
|
|
263
|
+
annotation: zod.z.string().optional()
|
|
264
|
+
})
|
|
265
|
+
).optional()
|
|
266
|
+
}).refine(
|
|
267
|
+
(data) => data.expression !== void 0 || data.steps !== void 0 && data.steps.length > 0,
|
|
268
|
+
{ message: "Either expression or steps must be provided" }
|
|
269
|
+
);
|
|
270
|
+
var multipleChoiceQuestion = zod.z.object({
|
|
271
|
+
type: zod.z.literal("multiple-choice"),
|
|
272
|
+
question: zod.z.string(),
|
|
273
|
+
options: zod.z.array(zod.z.string()).min(2).max(6),
|
|
274
|
+
answer: zod.z.number(),
|
|
275
|
+
explanation: zod.z.string().optional()
|
|
276
|
+
});
|
|
277
|
+
var trueFalseQuestion = zod.z.object({
|
|
278
|
+
type: zod.z.literal("true-false"),
|
|
279
|
+
question: zod.z.string(),
|
|
280
|
+
answer: zod.z.boolean(),
|
|
281
|
+
explanation: zod.z.string().optional()
|
|
282
|
+
});
|
|
283
|
+
var multiSelectQuestion = zod.z.object({
|
|
284
|
+
type: zod.z.literal("multi-select"),
|
|
285
|
+
question: zod.z.string(),
|
|
286
|
+
options: zod.z.array(zod.z.string()).min(2).max(8),
|
|
287
|
+
answer: zod.z.array(zod.z.number()),
|
|
288
|
+
explanation: zod.z.string().optional()
|
|
289
|
+
});
|
|
290
|
+
var quizQuestion = zod.z.discriminatedUnion("type", [
|
|
291
|
+
multipleChoiceQuestion,
|
|
292
|
+
trueFalseQuestion,
|
|
293
|
+
multiSelectQuestion
|
|
294
|
+
]);
|
|
295
|
+
var quizSchema = zod.z.object({
|
|
296
|
+
questions: zod.z.array(quizQuestion).min(1),
|
|
297
|
+
showScore: zod.z.boolean().default(true),
|
|
298
|
+
title: zod.z.string().optional()
|
|
299
|
+
});
|
|
300
|
+
var cardActionSchema = zod.z.object({
|
|
301
|
+
label: zod.z.string(),
|
|
302
|
+
url: zod.z.string()
|
|
303
|
+
});
|
|
304
|
+
var cardItemSchema = zod.z.object({
|
|
305
|
+
title: zod.z.string(),
|
|
306
|
+
subtitle: zod.z.string().optional(),
|
|
307
|
+
image: zod.z.string().optional(),
|
|
308
|
+
icon: zod.z.string().optional(),
|
|
309
|
+
body: zod.z.string().optional(),
|
|
310
|
+
actions: zod.z.array(cardActionSchema).max(3).optional()
|
|
311
|
+
});
|
|
312
|
+
var cardSchema = zod.z.object({
|
|
313
|
+
title: zod.z.string().optional(),
|
|
314
|
+
cards: zod.z.array(cardItemSchema).min(1).max(12),
|
|
315
|
+
variant: zod.z.enum(["default", "outlined", "elevated"]).default("default"),
|
|
316
|
+
columns: zod.z.number().min(1).max(4).optional()
|
|
317
|
+
});
|
|
318
|
+
var statItemSchema = zod.z.object({
|
|
319
|
+
type: zod.z.literal("stat"),
|
|
320
|
+
label: zod.z.string(),
|
|
321
|
+
value: zod.z.string(),
|
|
322
|
+
description: zod.z.string().optional()
|
|
323
|
+
});
|
|
324
|
+
var factItemSchema = zod.z.object({
|
|
325
|
+
type: zod.z.literal("fact"),
|
|
326
|
+
icon: zod.z.string().optional(),
|
|
327
|
+
text: zod.z.string()
|
|
328
|
+
});
|
|
329
|
+
var progressItemSchema = zod.z.object({
|
|
330
|
+
type: zod.z.literal("progress"),
|
|
331
|
+
label: zod.z.string(),
|
|
332
|
+
value: zod.z.number().min(0).max(100),
|
|
333
|
+
color: zod.z.string().optional()
|
|
334
|
+
});
|
|
335
|
+
var textItemSchema = zod.z.object({
|
|
336
|
+
type: zod.z.literal("text"),
|
|
337
|
+
content: zod.z.string()
|
|
338
|
+
});
|
|
339
|
+
var pieSliceSchema = zod.z.object({
|
|
340
|
+
label: zod.z.string(),
|
|
341
|
+
value: zod.z.number().positive(),
|
|
342
|
+
color: zod.z.string().optional()
|
|
343
|
+
});
|
|
344
|
+
var pieItemSchema = zod.z.object({
|
|
345
|
+
type: zod.z.literal("pie"),
|
|
346
|
+
label: zod.z.string().optional(),
|
|
347
|
+
slices: zod.z.array(pieSliceSchema).min(1).max(12),
|
|
348
|
+
donut: zod.z.boolean().optional(),
|
|
349
|
+
size: zod.z.number().min(80).max(300).optional()
|
|
350
|
+
});
|
|
351
|
+
var dividerItemSchema = zod.z.object({
|
|
352
|
+
type: zod.z.literal("divider"),
|
|
353
|
+
style: zod.z.enum(["solid", "dashed", "dotted"]).optional()
|
|
354
|
+
});
|
|
355
|
+
var ratingItemSchema = zod.z.object({
|
|
356
|
+
type: zod.z.literal("rating"),
|
|
357
|
+
label: zod.z.string(),
|
|
358
|
+
value: zod.z.number().min(0).max(5),
|
|
359
|
+
max: zod.z.number().min(1).max(5).optional(),
|
|
360
|
+
description: zod.z.string().optional()
|
|
361
|
+
});
|
|
362
|
+
var infographicItemSchema = zod.z.discriminatedUnion("type", [
|
|
363
|
+
statItemSchema,
|
|
364
|
+
factItemSchema,
|
|
365
|
+
progressItemSchema,
|
|
366
|
+
textItemSchema,
|
|
367
|
+
pieItemSchema,
|
|
368
|
+
dividerItemSchema,
|
|
369
|
+
ratingItemSchema
|
|
370
|
+
]);
|
|
371
|
+
var infographicSectionSchema = zod.z.object({
|
|
372
|
+
heading: zod.z.string().optional(),
|
|
373
|
+
items: zod.z.array(infographicItemSchema).min(1)
|
|
374
|
+
});
|
|
375
|
+
var infographicSchema = zod.z.object({
|
|
376
|
+
title: zod.z.string().optional(),
|
|
377
|
+
sections: zod.z.array(infographicSectionSchema).min(1).max(8)
|
|
378
|
+
});
|
|
379
|
+
var entries = [
|
|
380
|
+
["graph", graphSchema],
|
|
381
|
+
["table", tableSchema],
|
|
382
|
+
["chart", chartSchema],
|
|
383
|
+
["relation", relationSchema],
|
|
384
|
+
["timeline", timelineSchema],
|
|
385
|
+
["callout", calloutSchema],
|
|
386
|
+
["tabs", tabsSchema],
|
|
387
|
+
["steps", stepsSchema],
|
|
388
|
+
["architecture", architectureSchema],
|
|
389
|
+
["kpi", kpiSchema],
|
|
390
|
+
["accordion", accordionSchema],
|
|
391
|
+
["comparison", comparisonSchema],
|
|
392
|
+
["codediff", codediffSchema],
|
|
393
|
+
["flowchart", flowchartSchema],
|
|
394
|
+
["filetree", filetreeSchema],
|
|
395
|
+
["sequence", sequenceSchema],
|
|
396
|
+
["mindmap", mindmapSchema],
|
|
397
|
+
["equation", equationSchema],
|
|
398
|
+
["quiz", quizSchema],
|
|
399
|
+
["card", cardSchema],
|
|
400
|
+
["infographic", infographicSchema]
|
|
401
|
+
];
|
|
402
|
+
var componentSchemas = new Map(entries);
|
|
403
|
+
function getJsonSchema(componentType) {
|
|
404
|
+
const schema = componentSchemas.get(componentType);
|
|
405
|
+
if (!schema) return void 0;
|
|
406
|
+
return zodToJsonSchema.zodToJsonSchema(schema);
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
exports.accordionSchema = accordionSchema;
|
|
410
|
+
exports.architectureSchema = architectureSchema;
|
|
411
|
+
exports.calloutSchema = calloutSchema;
|
|
412
|
+
exports.cardSchema = cardSchema;
|
|
413
|
+
exports.chartSchema = chartSchema;
|
|
414
|
+
exports.codediffSchema = codediffSchema;
|
|
415
|
+
exports.comparisonSchema = comparisonSchema;
|
|
416
|
+
exports.componentSchemas = componentSchemas;
|
|
417
|
+
exports.equationSchema = equationSchema;
|
|
418
|
+
exports.filetreeSchema = filetreeSchema;
|
|
419
|
+
exports.flowchartSchema = flowchartSchema;
|
|
420
|
+
exports.getJsonSchema = getJsonSchema;
|
|
421
|
+
exports.graphSchema = graphSchema;
|
|
422
|
+
exports.infographicSchema = infographicSchema;
|
|
423
|
+
exports.kpiSchema = kpiSchema;
|
|
424
|
+
exports.mindmapSchema = mindmapSchema;
|
|
425
|
+
exports.quizSchema = quizSchema;
|
|
426
|
+
exports.relationSchema = relationSchema;
|
|
427
|
+
exports.sequenceSchema = sequenceSchema;
|
|
428
|
+
exports.stepsSchema = stepsSchema;
|
|
429
|
+
exports.tableSchema = tableSchema;
|
|
430
|
+
exports.tabsSchema = tabsSchema;
|
|
431
|
+
exports.timelineSchema = timelineSchema;
|
|
432
|
+
//# sourceMappingURL=index.cjs.map
|
|
433
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/graph.ts","../src/table.ts","../src/chart.ts","../src/relation.ts","../src/timeline.ts","../src/callout.ts","../src/tabs.ts","../src/steps.ts","../src/architecture.ts","../src/kpi.ts","../src/accordion.ts","../src/comparison.ts","../src/codediff.ts","../src/flowchart.ts","../src/filetree.ts","../src/sequence.ts","../src/mindmap.ts","../src/equation.ts","../src/quiz.ts","../src/card.ts","../src/infographic.ts","../src/registry.ts"],"names":["z","zodToJsonSchema"],"mappings":"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","file":"index.cjs","sourcesContent":["import { z } from 'zod';\n\n// ─── Graph ───────────────────────────────────────────────────\n\nexport const graphSchema = z.object({\n type: z.enum(['dag', 'flowchart', 'mindmap', 'force']),\n nodes: z.array(\n z.object({\n id: z.string(),\n label: z.string(),\n type: z.string().optional(),\n style: z.record(z.string()).optional(),\n group: z.string().optional(),\n }),\n ),\n edges: z.array(\n z.object({\n from: z.string(),\n to: z.string(),\n label: z.string().optional(),\n type: z.string().optional(),\n style: z.record(z.string()).optional(),\n }),\n ),\n layout: z\n .enum(['top-down', 'left-right', 'bottom-up', 'radial', 'force'])\n .optional(),\n});\n","import { z } from 'zod';\n\n// ─── Table ───────────────────────────────────────────────────\n\nexport const tableSchema = z.object({\n columns: z.array(\n z.object({\n key: z.string(),\n label: z.string(),\n sortable: z.boolean().optional(),\n filterable: z.boolean().optional(),\n type: z.enum(['string', 'number', 'date', 'boolean']).optional(),\n }),\n ),\n rows: z.array(z.record(z.unknown())),\n aggregation: z\n .array(\n z.object({\n column: z.string(),\n function: z.enum(['sum', 'avg', 'count', 'min', 'max']),\n }),\n )\n .optional(),\n});\n","import { z } from 'zod';\n\n// ─── Chart ───────────────────────────────────────────────────\n\nexport const chartSchema = z.object({\n type: z.enum(['line', 'bar', 'area', 'ohlc']),\n series: z.array(\n z.object({\n name: z.string(),\n data: z.array(z.record(z.union([z.number(), z.string()]))),\n }),\n ),\n xAxis: z\n .object({ key: z.string(), label: z.string().optional() })\n .optional(),\n yAxis: z\n .object({ key: z.string(), label: z.string().optional() })\n .optional(),\n legend: z.boolean().optional(),\n});\n","import { z } from 'zod';\n\n// ─── Relation (ER Diagram) ───────────────────────────────────\n\nexport const relationSchema = z.object({\n entities: z.array(\n z.object({\n id: z.string(),\n label: z.string(),\n attributes: z\n .array(\n z.object({\n name: z.string(),\n type: z.string(),\n primaryKey: z.boolean().optional(),\n }),\n )\n .optional(),\n }),\n ),\n relationships: z.array(\n z.object({\n from: z.string(),\n to: z.string(),\n label: z.string().optional(),\n cardinality: z.enum(['1:1', '1:N', 'N:1', 'N:M']),\n }),\n ),\n layout: z.enum(['top-down', 'left-right']).optional(),\n});\n","import { z } from 'zod';\n\n// ─── Timeline ────────────────────────────────────────────────\n\nexport const timelineSchema = z.object({\n events: z.array(\n z.object({\n date: z.string(),\n title: z.string(),\n description: z.string().optional(),\n type: z.string().optional(),\n }),\n ),\n orientation: z.enum(['vertical', 'horizontal']).optional(),\n});\n","import { z } from 'zod';\n\n// ─── Callout ─────────────────────────────────────────────────\n\nexport const calloutSchema = z.object({\n type: z.enum(['info', 'warning', 'error', 'tip']),\n title: z.string().optional(),\n content: z.string(),\n});\n","import { z } from 'zod';\n\n// ─── Tabs ────────────────────────────────────────────────────\n\nexport const tabsSchema = z.object({\n tabs: z.array(\n z.object({\n label: z.string(),\n content: z.string(),\n }),\n ),\n});\n","import { z } from 'zod';\n\n// ─── Steps ───────────────────────────────────────────────────\n\nexport const stepsSchema = z.object({\n steps: z.array(\n z.object({\n title: z.string(),\n status: z.enum(['pending', 'active', 'completed']).optional(),\n content: z.string(),\n }),\n ),\n});\n","import { z } from 'zod';\n\n// ─── Architecture Schema ────────────────────────────────────\n\nconst iconEnum = z.enum([\n 'server',\n 'database',\n 'queue',\n 'cache',\n 'loadbalancer',\n 'function',\n 'storage',\n 'gateway',\n 'user',\n 'cloud',\n 'container',\n 'network',\n]);\n\nconst baseNode = z.object({\n id: z.string(),\n label: z.string(),\n icon: iconEnum.optional(),\n type: z.literal('zone').optional(),\n style: z.record(z.string()).optional(),\n});\n\nexport interface ArchitectureNode {\n id: string;\n label: string;\n icon?:\n | 'server'\n | 'database'\n | 'queue'\n | 'cache'\n | 'loadbalancer'\n | 'function'\n | 'storage'\n | 'gateway'\n | 'user'\n | 'cloud'\n | 'container'\n | 'network';\n type?: 'zone';\n children?: ArchitectureNode[];\n style?: Record<string, string>;\n}\n\nconst architectureNodeSchema: z.ZodType<ArchitectureNode> = baseNode.extend({\n children: z.lazy(() => z.array(architectureNodeSchema)).optional(),\n});\n\nexport const architectureSchema = z.object({\n title: z.string().optional(),\n children: z.array(architectureNodeSchema),\n edges: z.array(\n z.object({\n from: z.string(),\n to: z.string(),\n label: z.string().optional(),\n type: z.enum(['sync', 'async', 'data']).optional(),\n style: z.record(z.string()).optional(),\n }),\n ),\n layout: z.enum(['top-down', 'left-right', 'bottom-up']).optional(),\n});\n","import { z } from 'zod';\n\n// ─── KPI ──────────────────────────────────────────────────────\n\nexport const kpiSchema = z.object({\n title: z.string().optional(),\n metrics: z\n .array(\n z.object({\n label: z.string(),\n value: z.string(),\n delta: z.string().optional(),\n trend: z.enum(['up', 'down', 'flat']).optional(),\n sentiment: z.enum(['positive', 'negative', 'neutral']).optional(),\n unit: z.string().optional(),\n }),\n )\n .min(1)\n .max(8),\n columns: z.number().min(1).max(4).optional(),\n});\n","import { z } from 'zod';\n\nexport const accordionSchema = z.object({\n title: z.string().optional(),\n sections: z\n .array(\n z.object({\n title: z.string(),\n content: z.string(),\n }),\n )\n .min(1),\n defaultOpen: z.array(z.number()).optional(),\n multiple: z.boolean().default(true),\n});\n","import { z } from 'zod';\n\nexport const comparisonSchema = z\n .object({\n title: z.string().optional(),\n options: z\n .array(\n z.object({\n name: z.string(),\n description: z.string().optional(),\n }),\n )\n .min(2)\n .max(6),\n features: z\n .array(\n z.object({\n name: z.string(),\n values: z.array(z.string()),\n }),\n )\n .min(1),\n })\n .refine((data) => data.features.every((f) => f.values.length === data.options.length), {\n message: 'Each feature must have one value per option',\n });\n","import { z } from 'zod';\n\nexport const codediffSchema = z.object({\n language: z.string().optional(),\n before: z.string(),\n after: z.string(),\n beforeLabel: z.string().optional(),\n afterLabel: z.string().optional(),\n});\n","import { z } from 'zod';\n\nexport const flowchartSchema = z.object({\n title: z.string().optional(),\n nodes: z\n .array(\n z.object({\n id: z.string(),\n type: z.enum(['start', 'end', 'process', 'decision']).default('process'),\n label: z.string(),\n }),\n )\n .min(2),\n edges: z\n .array(\n z.object({\n from: z.string(),\n to: z.string(),\n label: z.string().optional(),\n }),\n )\n .min(1),\n direction: z.enum(['top-down', 'left-right']).default('top-down'),\n});\n","import { z } from 'zod';\n\nconst fileNodeSchema: z.ZodType<{\n name: string;\n annotation?: string;\n children?: { name: string; annotation?: string; children?: unknown[] }[];\n}> = z.object({\n name: z.string(),\n annotation: z.string().optional(),\n children: z.array(z.lazy(() => fileNodeSchema)).optional(),\n});\n\nexport const filetreeSchema = z.object({\n root: z.string().optional(),\n tree: z.array(fileNodeSchema).min(1),\n defaultExpanded: z.boolean().default(true),\n});\n","import { z } from 'zod';\n\nexport const sequenceSchema = z.object({\n title: z.string().optional(),\n actors: z\n .array(\n z.object({\n id: z.string(),\n label: z.string(),\n }),\n )\n .min(2),\n messages: z\n .array(\n z.object({\n from: z.string(),\n to: z.string(),\n label: z.string(),\n type: z.enum(['message', 'reply', 'self']).default('message'),\n }),\n )\n .min(1),\n});\n","import { z } from 'zod';\n\nconst mindmapNodeSchema: z.ZodType<{\n label: string;\n children?: { label: string; children?: unknown[] }[];\n}> = z.object({\n label: z.string(),\n children: z.array(z.lazy(() => mindmapNodeSchema)).optional(),\n});\n\nexport const mindmapSchema = z.object({\n root: z.string(),\n children: z.array(mindmapNodeSchema).min(1),\n layout: z.enum(['radial', 'tree']).default('radial'),\n});\n","import { z } from 'zod';\n\nexport const equationSchema = z\n .object({\n expression: z.string().optional(),\n label: z.string().optional(),\n steps: z\n .array(\n z.object({\n expression: z.string(),\n annotation: z.string().optional(),\n }),\n )\n .optional(),\n })\n .refine(\n (data) => data.expression !== undefined || (data.steps !== undefined && data.steps.length > 0),\n { message: 'Either expression or steps must be provided' },\n );\n","import { z } from 'zod';\n\nconst multipleChoiceQuestion = z.object({\n type: z.literal('multiple-choice'),\n question: z.string(),\n options: z.array(z.string()).min(2).max(6),\n answer: z.number(),\n explanation: z.string().optional(),\n});\n\nconst trueFalseQuestion = z.object({\n type: z.literal('true-false'),\n question: z.string(),\n answer: z.boolean(),\n explanation: z.string().optional(),\n});\n\nconst multiSelectQuestion = z.object({\n type: z.literal('multi-select'),\n question: z.string(),\n options: z.array(z.string()).min(2).max(8),\n answer: z.array(z.number()),\n explanation: z.string().optional(),\n});\n\nconst quizQuestion = z.discriminatedUnion('type', [\n multipleChoiceQuestion,\n trueFalseQuestion,\n multiSelectQuestion,\n]);\n\nexport const quizSchema = z.object({\n questions: z.array(quizQuestion).min(1),\n showScore: z.boolean().default(true),\n title: z.string().optional(),\n});\n","import { z } from 'zod';\n\nconst cardActionSchema = z.object({\n label: z.string(),\n url: z.string(),\n});\n\nconst cardItemSchema = z.object({\n title: z.string(),\n subtitle: z.string().optional(),\n image: z.string().optional(),\n icon: z.string().optional(),\n body: z.string().optional(),\n actions: z.array(cardActionSchema).max(3).optional(),\n});\n\nexport const cardSchema = z.object({\n title: z.string().optional(),\n cards: z.array(cardItemSchema).min(1).max(12),\n variant: z.enum(['default', 'outlined', 'elevated']).default('default'),\n columns: z.number().min(1).max(4).optional(),\n});\n","import { z } from 'zod';\n\n// ─── Infographic Item Types ─────────────────────────────────\n\nconst statItemSchema = z.object({\n type: z.literal('stat'),\n label: z.string(),\n value: z.string(),\n description: z.string().optional(),\n});\n\nconst factItemSchema = z.object({\n type: z.literal('fact'),\n icon: z.string().optional(),\n text: z.string(),\n});\n\nconst progressItemSchema = z.object({\n type: z.literal('progress'),\n label: z.string(),\n value: z.number().min(0).max(100),\n color: z.string().optional(),\n});\n\nconst textItemSchema = z.object({\n type: z.literal('text'),\n content: z.string(),\n});\n\nconst pieSliceSchema = z.object({\n label: z.string(),\n value: z.number().positive(),\n color: z.string().optional(),\n});\n\nconst pieItemSchema = z.object({\n type: z.literal('pie'),\n label: z.string().optional(),\n slices: z.array(pieSliceSchema).min(1).max(12),\n donut: z.boolean().optional(),\n size: z.number().min(80).max(300).optional(),\n});\n\nconst dividerItemSchema = z.object({\n type: z.literal('divider'),\n style: z.enum(['solid', 'dashed', 'dotted']).optional(),\n});\n\nconst ratingItemSchema = z.object({\n type: z.literal('rating'),\n label: z.string(),\n value: z.number().min(0).max(5),\n max: z.number().min(1).max(5).optional(),\n description: z.string().optional(),\n});\n\nconst infographicItemSchema = z.discriminatedUnion('type', [\n statItemSchema,\n factItemSchema,\n progressItemSchema,\n textItemSchema,\n pieItemSchema,\n dividerItemSchema,\n ratingItemSchema,\n]);\n\n// ─── Infographic Section ────────────────────────────────────\n\nconst infographicSectionSchema = z.object({\n heading: z.string().optional(),\n items: z.array(infographicItemSchema).min(1),\n});\n\n// ─── Infographic ────────────────────────────────────────────\n\nexport const infographicSchema = z.object({\n title: z.string().optional(),\n sections: z.array(infographicSectionSchema).min(1).max(8),\n});\n","import type { z } from 'zod';\nimport { zodToJsonSchema } from 'zod-to-json-schema';\n\nimport { graphSchema } from './graph.js';\nimport { tableSchema } from './table.js';\nimport { chartSchema } from './chart.js';\nimport { relationSchema } from './relation.js';\nimport { timelineSchema } from './timeline.js';\nimport { calloutSchema } from './callout.js';\nimport { tabsSchema } from './tabs.js';\nimport { stepsSchema } from './steps.js';\nimport { architectureSchema } from './architecture.js';\nimport { kpiSchema } from './kpi.js';\nimport { accordionSchema } from './accordion.js';\nimport { comparisonSchema } from './comparison.js';\nimport { codediffSchema } from './codediff.js';\nimport { flowchartSchema } from './flowchart.js';\nimport { filetreeSchema } from './filetree.js';\nimport { sequenceSchema } from './sequence.js';\nimport { mindmapSchema } from './mindmap.js';\nimport { equationSchema } from './equation.js';\nimport { quizSchema } from './quiz.js';\nimport { cardSchema } from './card.js';\nimport { infographicSchema } from './infographic.js';\n\n// ─── Schema Registry ─────────────────────────────────────────\n\nconst entries: [string, z.ZodType][] = [\n ['graph', graphSchema],\n ['table', tableSchema],\n ['chart', chartSchema],\n ['relation', relationSchema],\n ['timeline', timelineSchema],\n ['callout', calloutSchema],\n ['tabs', tabsSchema],\n ['steps', stepsSchema],\n ['architecture', architectureSchema],\n ['kpi', kpiSchema],\n ['accordion', accordionSchema],\n ['comparison', comparisonSchema],\n ['codediff', codediffSchema],\n ['flowchart', flowchartSchema],\n ['filetree', filetreeSchema],\n ['sequence', sequenceSchema],\n ['mindmap', mindmapSchema],\n ['equation', equationSchema],\n ['quiz', quizSchema],\n ['card', cardSchema],\n ['infographic', infographicSchema],\n];\n\nexport const componentSchemas: ReadonlyMap<string, z.ZodType> = new Map(entries);\n\n// ─── JSON Schema Helper ─────────────────────────────────────\n\nexport function getJsonSchema(componentType: string): object | undefined {\n const schema = componentSchemas.get(componentType);\n if (!schema) return undefined;\n return zodToJsonSchema(schema);\n}\n"]}
|