@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/dist/index.js
ADDED
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
3
|
+
|
|
4
|
+
// src/graph.ts
|
|
5
|
+
var graphSchema = z.object({
|
|
6
|
+
type: z.enum(["dag", "flowchart", "mindmap", "force"]),
|
|
7
|
+
nodes: z.array(
|
|
8
|
+
z.object({
|
|
9
|
+
id: z.string(),
|
|
10
|
+
label: z.string(),
|
|
11
|
+
type: z.string().optional(),
|
|
12
|
+
style: z.record(z.string()).optional(),
|
|
13
|
+
group: z.string().optional()
|
|
14
|
+
})
|
|
15
|
+
),
|
|
16
|
+
edges: z.array(
|
|
17
|
+
z.object({
|
|
18
|
+
from: z.string(),
|
|
19
|
+
to: z.string(),
|
|
20
|
+
label: z.string().optional(),
|
|
21
|
+
type: z.string().optional(),
|
|
22
|
+
style: z.record(z.string()).optional()
|
|
23
|
+
})
|
|
24
|
+
),
|
|
25
|
+
layout: z.enum(["top-down", "left-right", "bottom-up", "radial", "force"]).optional()
|
|
26
|
+
});
|
|
27
|
+
var tableSchema = z.object({
|
|
28
|
+
columns: z.array(
|
|
29
|
+
z.object({
|
|
30
|
+
key: z.string(),
|
|
31
|
+
label: z.string(),
|
|
32
|
+
sortable: z.boolean().optional(),
|
|
33
|
+
filterable: z.boolean().optional(),
|
|
34
|
+
type: z.enum(["string", "number", "date", "boolean"]).optional()
|
|
35
|
+
})
|
|
36
|
+
),
|
|
37
|
+
rows: z.array(z.record(z.unknown())),
|
|
38
|
+
aggregation: z.array(
|
|
39
|
+
z.object({
|
|
40
|
+
column: z.string(),
|
|
41
|
+
function: z.enum(["sum", "avg", "count", "min", "max"])
|
|
42
|
+
})
|
|
43
|
+
).optional()
|
|
44
|
+
});
|
|
45
|
+
var chartSchema = z.object({
|
|
46
|
+
type: z.enum(["line", "bar", "area", "ohlc"]),
|
|
47
|
+
series: z.array(
|
|
48
|
+
z.object({
|
|
49
|
+
name: z.string(),
|
|
50
|
+
data: z.array(z.record(z.union([z.number(), z.string()])))
|
|
51
|
+
})
|
|
52
|
+
),
|
|
53
|
+
xAxis: z.object({ key: z.string(), label: z.string().optional() }).optional(),
|
|
54
|
+
yAxis: z.object({ key: z.string(), label: z.string().optional() }).optional(),
|
|
55
|
+
legend: z.boolean().optional()
|
|
56
|
+
});
|
|
57
|
+
var relationSchema = z.object({
|
|
58
|
+
entities: z.array(
|
|
59
|
+
z.object({
|
|
60
|
+
id: z.string(),
|
|
61
|
+
label: z.string(),
|
|
62
|
+
attributes: z.array(
|
|
63
|
+
z.object({
|
|
64
|
+
name: z.string(),
|
|
65
|
+
type: z.string(),
|
|
66
|
+
primaryKey: z.boolean().optional()
|
|
67
|
+
})
|
|
68
|
+
).optional()
|
|
69
|
+
})
|
|
70
|
+
),
|
|
71
|
+
relationships: z.array(
|
|
72
|
+
z.object({
|
|
73
|
+
from: z.string(),
|
|
74
|
+
to: z.string(),
|
|
75
|
+
label: z.string().optional(),
|
|
76
|
+
cardinality: z.enum(["1:1", "1:N", "N:1", "N:M"])
|
|
77
|
+
})
|
|
78
|
+
),
|
|
79
|
+
layout: z.enum(["top-down", "left-right"]).optional()
|
|
80
|
+
});
|
|
81
|
+
var timelineSchema = z.object({
|
|
82
|
+
events: z.array(
|
|
83
|
+
z.object({
|
|
84
|
+
date: z.string(),
|
|
85
|
+
title: z.string(),
|
|
86
|
+
description: z.string().optional(),
|
|
87
|
+
type: z.string().optional()
|
|
88
|
+
})
|
|
89
|
+
),
|
|
90
|
+
orientation: z.enum(["vertical", "horizontal"]).optional()
|
|
91
|
+
});
|
|
92
|
+
var calloutSchema = z.object({
|
|
93
|
+
type: z.enum(["info", "warning", "error", "tip"]),
|
|
94
|
+
title: z.string().optional(),
|
|
95
|
+
content: z.string()
|
|
96
|
+
});
|
|
97
|
+
var tabsSchema = z.object({
|
|
98
|
+
tabs: z.array(
|
|
99
|
+
z.object({
|
|
100
|
+
label: z.string(),
|
|
101
|
+
content: z.string()
|
|
102
|
+
})
|
|
103
|
+
)
|
|
104
|
+
});
|
|
105
|
+
var stepsSchema = z.object({
|
|
106
|
+
steps: z.array(
|
|
107
|
+
z.object({
|
|
108
|
+
title: z.string(),
|
|
109
|
+
status: z.enum(["pending", "active", "completed"]).optional(),
|
|
110
|
+
content: z.string()
|
|
111
|
+
})
|
|
112
|
+
)
|
|
113
|
+
});
|
|
114
|
+
var iconEnum = z.enum([
|
|
115
|
+
"server",
|
|
116
|
+
"database",
|
|
117
|
+
"queue",
|
|
118
|
+
"cache",
|
|
119
|
+
"loadbalancer",
|
|
120
|
+
"function",
|
|
121
|
+
"storage",
|
|
122
|
+
"gateway",
|
|
123
|
+
"user",
|
|
124
|
+
"cloud",
|
|
125
|
+
"container",
|
|
126
|
+
"network"
|
|
127
|
+
]);
|
|
128
|
+
var baseNode = z.object({
|
|
129
|
+
id: z.string(),
|
|
130
|
+
label: z.string(),
|
|
131
|
+
icon: iconEnum.optional(),
|
|
132
|
+
type: z.literal("zone").optional(),
|
|
133
|
+
style: z.record(z.string()).optional()
|
|
134
|
+
});
|
|
135
|
+
var architectureNodeSchema = baseNode.extend({
|
|
136
|
+
children: z.lazy(() => z.array(architectureNodeSchema)).optional()
|
|
137
|
+
});
|
|
138
|
+
var architectureSchema = z.object({
|
|
139
|
+
title: z.string().optional(),
|
|
140
|
+
children: z.array(architectureNodeSchema),
|
|
141
|
+
edges: z.array(
|
|
142
|
+
z.object({
|
|
143
|
+
from: z.string(),
|
|
144
|
+
to: z.string(),
|
|
145
|
+
label: z.string().optional(),
|
|
146
|
+
type: z.enum(["sync", "async", "data"]).optional(),
|
|
147
|
+
style: z.record(z.string()).optional()
|
|
148
|
+
})
|
|
149
|
+
),
|
|
150
|
+
layout: z.enum(["top-down", "left-right", "bottom-up"]).optional()
|
|
151
|
+
});
|
|
152
|
+
var kpiSchema = z.object({
|
|
153
|
+
title: z.string().optional(),
|
|
154
|
+
metrics: z.array(
|
|
155
|
+
z.object({
|
|
156
|
+
label: z.string(),
|
|
157
|
+
value: z.string(),
|
|
158
|
+
delta: z.string().optional(),
|
|
159
|
+
trend: z.enum(["up", "down", "flat"]).optional(),
|
|
160
|
+
sentiment: z.enum(["positive", "negative", "neutral"]).optional(),
|
|
161
|
+
unit: z.string().optional()
|
|
162
|
+
})
|
|
163
|
+
).min(1).max(8),
|
|
164
|
+
columns: z.number().min(1).max(4).optional()
|
|
165
|
+
});
|
|
166
|
+
var accordionSchema = z.object({
|
|
167
|
+
title: z.string().optional(),
|
|
168
|
+
sections: z.array(
|
|
169
|
+
z.object({
|
|
170
|
+
title: z.string(),
|
|
171
|
+
content: z.string()
|
|
172
|
+
})
|
|
173
|
+
).min(1),
|
|
174
|
+
defaultOpen: z.array(z.number()).optional(),
|
|
175
|
+
multiple: z.boolean().default(true)
|
|
176
|
+
});
|
|
177
|
+
var comparisonSchema = z.object({
|
|
178
|
+
title: z.string().optional(),
|
|
179
|
+
options: z.array(
|
|
180
|
+
z.object({
|
|
181
|
+
name: z.string(),
|
|
182
|
+
description: z.string().optional()
|
|
183
|
+
})
|
|
184
|
+
).min(2).max(6),
|
|
185
|
+
features: z.array(
|
|
186
|
+
z.object({
|
|
187
|
+
name: z.string(),
|
|
188
|
+
values: z.array(z.string())
|
|
189
|
+
})
|
|
190
|
+
).min(1)
|
|
191
|
+
}).refine((data) => data.features.every((f) => f.values.length === data.options.length), {
|
|
192
|
+
message: "Each feature must have one value per option"
|
|
193
|
+
});
|
|
194
|
+
var codediffSchema = z.object({
|
|
195
|
+
language: z.string().optional(),
|
|
196
|
+
before: z.string(),
|
|
197
|
+
after: z.string(),
|
|
198
|
+
beforeLabel: z.string().optional(),
|
|
199
|
+
afterLabel: z.string().optional()
|
|
200
|
+
});
|
|
201
|
+
var flowchartSchema = z.object({
|
|
202
|
+
title: z.string().optional(),
|
|
203
|
+
nodes: z.array(
|
|
204
|
+
z.object({
|
|
205
|
+
id: z.string(),
|
|
206
|
+
type: z.enum(["start", "end", "process", "decision"]).default("process"),
|
|
207
|
+
label: z.string()
|
|
208
|
+
})
|
|
209
|
+
).min(2),
|
|
210
|
+
edges: z.array(
|
|
211
|
+
z.object({
|
|
212
|
+
from: z.string(),
|
|
213
|
+
to: z.string(),
|
|
214
|
+
label: z.string().optional()
|
|
215
|
+
})
|
|
216
|
+
).min(1),
|
|
217
|
+
direction: z.enum(["top-down", "left-right"]).default("top-down")
|
|
218
|
+
});
|
|
219
|
+
var fileNodeSchema = z.object({
|
|
220
|
+
name: z.string(),
|
|
221
|
+
annotation: z.string().optional(),
|
|
222
|
+
children: z.array(z.lazy(() => fileNodeSchema)).optional()
|
|
223
|
+
});
|
|
224
|
+
var filetreeSchema = z.object({
|
|
225
|
+
root: z.string().optional(),
|
|
226
|
+
tree: z.array(fileNodeSchema).min(1),
|
|
227
|
+
defaultExpanded: z.boolean().default(true)
|
|
228
|
+
});
|
|
229
|
+
var sequenceSchema = z.object({
|
|
230
|
+
title: z.string().optional(),
|
|
231
|
+
actors: z.array(
|
|
232
|
+
z.object({
|
|
233
|
+
id: z.string(),
|
|
234
|
+
label: z.string()
|
|
235
|
+
})
|
|
236
|
+
).min(2),
|
|
237
|
+
messages: z.array(
|
|
238
|
+
z.object({
|
|
239
|
+
from: z.string(),
|
|
240
|
+
to: z.string(),
|
|
241
|
+
label: z.string(),
|
|
242
|
+
type: z.enum(["message", "reply", "self"]).default("message")
|
|
243
|
+
})
|
|
244
|
+
).min(1)
|
|
245
|
+
});
|
|
246
|
+
var mindmapNodeSchema = z.object({
|
|
247
|
+
label: z.string(),
|
|
248
|
+
children: z.array(z.lazy(() => mindmapNodeSchema)).optional()
|
|
249
|
+
});
|
|
250
|
+
var mindmapSchema = z.object({
|
|
251
|
+
root: z.string(),
|
|
252
|
+
children: z.array(mindmapNodeSchema).min(1),
|
|
253
|
+
layout: z.enum(["radial", "tree"]).default("radial")
|
|
254
|
+
});
|
|
255
|
+
var equationSchema = z.object({
|
|
256
|
+
expression: z.string().optional(),
|
|
257
|
+
label: z.string().optional(),
|
|
258
|
+
steps: z.array(
|
|
259
|
+
z.object({
|
|
260
|
+
expression: z.string(),
|
|
261
|
+
annotation: z.string().optional()
|
|
262
|
+
})
|
|
263
|
+
).optional()
|
|
264
|
+
}).refine(
|
|
265
|
+
(data) => data.expression !== void 0 || data.steps !== void 0 && data.steps.length > 0,
|
|
266
|
+
{ message: "Either expression or steps must be provided" }
|
|
267
|
+
);
|
|
268
|
+
var multipleChoiceQuestion = z.object({
|
|
269
|
+
type: z.literal("multiple-choice"),
|
|
270
|
+
question: z.string(),
|
|
271
|
+
options: z.array(z.string()).min(2).max(6),
|
|
272
|
+
answer: z.number(),
|
|
273
|
+
explanation: z.string().optional()
|
|
274
|
+
});
|
|
275
|
+
var trueFalseQuestion = z.object({
|
|
276
|
+
type: z.literal("true-false"),
|
|
277
|
+
question: z.string(),
|
|
278
|
+
answer: z.boolean(),
|
|
279
|
+
explanation: z.string().optional()
|
|
280
|
+
});
|
|
281
|
+
var multiSelectQuestion = z.object({
|
|
282
|
+
type: z.literal("multi-select"),
|
|
283
|
+
question: z.string(),
|
|
284
|
+
options: z.array(z.string()).min(2).max(8),
|
|
285
|
+
answer: z.array(z.number()),
|
|
286
|
+
explanation: z.string().optional()
|
|
287
|
+
});
|
|
288
|
+
var quizQuestion = z.discriminatedUnion("type", [
|
|
289
|
+
multipleChoiceQuestion,
|
|
290
|
+
trueFalseQuestion,
|
|
291
|
+
multiSelectQuestion
|
|
292
|
+
]);
|
|
293
|
+
var quizSchema = z.object({
|
|
294
|
+
questions: z.array(quizQuestion).min(1),
|
|
295
|
+
showScore: z.boolean().default(true),
|
|
296
|
+
title: z.string().optional()
|
|
297
|
+
});
|
|
298
|
+
var cardActionSchema = z.object({
|
|
299
|
+
label: z.string(),
|
|
300
|
+
url: z.string()
|
|
301
|
+
});
|
|
302
|
+
var cardItemSchema = z.object({
|
|
303
|
+
title: z.string(),
|
|
304
|
+
subtitle: z.string().optional(),
|
|
305
|
+
image: z.string().optional(),
|
|
306
|
+
icon: z.string().optional(),
|
|
307
|
+
body: z.string().optional(),
|
|
308
|
+
actions: z.array(cardActionSchema).max(3).optional()
|
|
309
|
+
});
|
|
310
|
+
var cardSchema = z.object({
|
|
311
|
+
title: z.string().optional(),
|
|
312
|
+
cards: z.array(cardItemSchema).min(1).max(12),
|
|
313
|
+
variant: z.enum(["default", "outlined", "elevated"]).default("default"),
|
|
314
|
+
columns: z.number().min(1).max(4).optional()
|
|
315
|
+
});
|
|
316
|
+
var statItemSchema = z.object({
|
|
317
|
+
type: z.literal("stat"),
|
|
318
|
+
label: z.string(),
|
|
319
|
+
value: z.string(),
|
|
320
|
+
description: z.string().optional()
|
|
321
|
+
});
|
|
322
|
+
var factItemSchema = z.object({
|
|
323
|
+
type: z.literal("fact"),
|
|
324
|
+
icon: z.string().optional(),
|
|
325
|
+
text: z.string()
|
|
326
|
+
});
|
|
327
|
+
var progressItemSchema = z.object({
|
|
328
|
+
type: z.literal("progress"),
|
|
329
|
+
label: z.string(),
|
|
330
|
+
value: z.number().min(0).max(100),
|
|
331
|
+
color: z.string().optional()
|
|
332
|
+
});
|
|
333
|
+
var textItemSchema = z.object({
|
|
334
|
+
type: z.literal("text"),
|
|
335
|
+
content: z.string()
|
|
336
|
+
});
|
|
337
|
+
var pieSliceSchema = z.object({
|
|
338
|
+
label: z.string(),
|
|
339
|
+
value: z.number().positive(),
|
|
340
|
+
color: z.string().optional()
|
|
341
|
+
});
|
|
342
|
+
var pieItemSchema = z.object({
|
|
343
|
+
type: z.literal("pie"),
|
|
344
|
+
label: z.string().optional(),
|
|
345
|
+
slices: z.array(pieSliceSchema).min(1).max(12),
|
|
346
|
+
donut: z.boolean().optional(),
|
|
347
|
+
size: z.number().min(80).max(300).optional()
|
|
348
|
+
});
|
|
349
|
+
var dividerItemSchema = z.object({
|
|
350
|
+
type: z.literal("divider"),
|
|
351
|
+
style: z.enum(["solid", "dashed", "dotted"]).optional()
|
|
352
|
+
});
|
|
353
|
+
var ratingItemSchema = z.object({
|
|
354
|
+
type: z.literal("rating"),
|
|
355
|
+
label: z.string(),
|
|
356
|
+
value: z.number().min(0).max(5),
|
|
357
|
+
max: z.number().min(1).max(5).optional(),
|
|
358
|
+
description: z.string().optional()
|
|
359
|
+
});
|
|
360
|
+
var infographicItemSchema = z.discriminatedUnion("type", [
|
|
361
|
+
statItemSchema,
|
|
362
|
+
factItemSchema,
|
|
363
|
+
progressItemSchema,
|
|
364
|
+
textItemSchema,
|
|
365
|
+
pieItemSchema,
|
|
366
|
+
dividerItemSchema,
|
|
367
|
+
ratingItemSchema
|
|
368
|
+
]);
|
|
369
|
+
var infographicSectionSchema = z.object({
|
|
370
|
+
heading: z.string().optional(),
|
|
371
|
+
items: z.array(infographicItemSchema).min(1)
|
|
372
|
+
});
|
|
373
|
+
var infographicSchema = z.object({
|
|
374
|
+
title: z.string().optional(),
|
|
375
|
+
sections: z.array(infographicSectionSchema).min(1).max(8)
|
|
376
|
+
});
|
|
377
|
+
var entries = [
|
|
378
|
+
["graph", graphSchema],
|
|
379
|
+
["table", tableSchema],
|
|
380
|
+
["chart", chartSchema],
|
|
381
|
+
["relation", relationSchema],
|
|
382
|
+
["timeline", timelineSchema],
|
|
383
|
+
["callout", calloutSchema],
|
|
384
|
+
["tabs", tabsSchema],
|
|
385
|
+
["steps", stepsSchema],
|
|
386
|
+
["architecture", architectureSchema],
|
|
387
|
+
["kpi", kpiSchema],
|
|
388
|
+
["accordion", accordionSchema],
|
|
389
|
+
["comparison", comparisonSchema],
|
|
390
|
+
["codediff", codediffSchema],
|
|
391
|
+
["flowchart", flowchartSchema],
|
|
392
|
+
["filetree", filetreeSchema],
|
|
393
|
+
["sequence", sequenceSchema],
|
|
394
|
+
["mindmap", mindmapSchema],
|
|
395
|
+
["equation", equationSchema],
|
|
396
|
+
["quiz", quizSchema],
|
|
397
|
+
["card", cardSchema],
|
|
398
|
+
["infographic", infographicSchema]
|
|
399
|
+
];
|
|
400
|
+
var componentSchemas = new Map(entries);
|
|
401
|
+
function getJsonSchema(componentType) {
|
|
402
|
+
const schema = componentSchemas.get(componentType);
|
|
403
|
+
if (!schema) return void 0;
|
|
404
|
+
return zodToJsonSchema(schema);
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
export { accordionSchema, architectureSchema, calloutSchema, cardSchema, chartSchema, codediffSchema, comparisonSchema, componentSchemas, equationSchema, filetreeSchema, flowchartSchema, getJsonSchema, graphSchema, infographicSchema, kpiSchema, mindmapSchema, quizSchema, relationSchema, sequenceSchema, stepsSchema, tableSchema, tabsSchema, timelineSchema };
|
|
408
|
+
//# sourceMappingURL=index.js.map
|
|
409
|
+
//# sourceMappingURL=index.js.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"],"mappings":"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","file":"index.js","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"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@glyphjs/schemas",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Zod schemas for Glyph JS components with JSON Schema generation",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.cjs",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"require": {
|
|
16
|
+
"types": "./dist/index.d.cts",
|
|
17
|
+
"default": "./dist/index.cjs"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"dist",
|
|
23
|
+
"LICENSE",
|
|
24
|
+
"README.md"
|
|
25
|
+
],
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"zod": "^3.24.2",
|
|
28
|
+
"zod-to-json-schema": "^3.24.3",
|
|
29
|
+
"@glyphjs/types": "0.1.0"
|
|
30
|
+
},
|
|
31
|
+
"sideEffects": false,
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"author": "Vledic Franco",
|
|
34
|
+
"repository": {
|
|
35
|
+
"type": "git",
|
|
36
|
+
"url": "https://github.com/VledicFranco/glyphjs.git",
|
|
37
|
+
"directory": "packages/schemas"
|
|
38
|
+
},
|
|
39
|
+
"homepage": "https://github.com/VledicFranco/glyphjs#readme",
|
|
40
|
+
"bugs": "https://github.com/VledicFranco/glyphjs/issues",
|
|
41
|
+
"keywords": [
|
|
42
|
+
"glyph",
|
|
43
|
+
"glyphjs",
|
|
44
|
+
"markdown",
|
|
45
|
+
"react",
|
|
46
|
+
"ui-components",
|
|
47
|
+
"interactive-documents",
|
|
48
|
+
"zod",
|
|
49
|
+
"schemas",
|
|
50
|
+
"validation",
|
|
51
|
+
"json-schema"
|
|
52
|
+
],
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"ajv": "^8.17.1"
|
|
55
|
+
},
|
|
56
|
+
"scripts": {
|
|
57
|
+
"build": "tsup",
|
|
58
|
+
"typecheck": "tsc --noEmit",
|
|
59
|
+
"test": "vitest run",
|
|
60
|
+
"lint": "eslint src/",
|
|
61
|
+
"clean": "rm -rf dist .turbo"
|
|
62
|
+
}
|
|
63
|
+
}
|