@tuongaz/seeflow 0.1.74 → 0.1.76

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 (70) hide show
  1. package/dist/web/assets/arc-DtxbFlka.js +1 -0
  2. package/dist/web/assets/architectureDiagram-3BPJPVTR-CVOsL8en.js +36 -0
  3. package/dist/web/assets/band-BEGRCkg7.js +1 -0
  4. package/dist/web/assets/blockDiagram-GPEHLZMM-C4ln3pHP.js +132 -0
  5. package/dist/web/assets/c4Diagram-AAUBKEIU-COBq_O0m.js +10 -0
  6. package/dist/web/assets/channel-BpDUSI6-.js +1 -0
  7. package/dist/web/assets/chart-DD5RfLtm.js +73 -0
  8. package/dist/web/assets/chunk-2J33WTMH-Bdm-YMMv.js +1 -0
  9. package/dist/web/assets/chunk-4BX2VUAB-BV9NRSCp.js +1 -0
  10. package/dist/web/assets/chunk-55IACEB6-D-Xe7eUY.js +1 -0
  11. package/dist/web/assets/chunk-727SXJPM-DB6EZ4tw.js +206 -0
  12. package/dist/web/assets/chunk-AQP2D5EJ-DDlp8cdl.js +231 -0
  13. package/dist/web/assets/chunk-FMBD7UC4-qmkSV1r1.js +15 -0
  14. package/dist/web/assets/chunk-ND2GUHAM-BFkM9OZ5.js +1 -0
  15. package/dist/web/assets/chunk-QZHKN3VN-Cye5hUth.js +1 -0
  16. package/dist/web/assets/classDiagram-4FO5ZUOK-po1qHJgX.js +1 -0
  17. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-po1qHJgX.js +1 -0
  18. package/dist/web/assets/{code-block-DTATyN2X.js → code-block-B2Jj4pwe.js} +1 -1
  19. package/dist/web/assets/cose-bilkent-S5V4N54A-B8Q15-m-.js +1 -0
  20. package/dist/web/assets/cytoscape.esm-BHYC38rz.js +331 -0
  21. package/dist/web/assets/dagre-BM42HDAG-BEYccL0v.js +4 -0
  22. package/dist/web/assets/defaultLocale-CrowFXzY.js +1 -0
  23. package/dist/web/assets/diagram-2AECGRRQ-BHPvhIzV.js +43 -0
  24. package/dist/web/assets/diagram-5GNKFQAL-Csqbxt3l.js +10 -0
  25. package/dist/web/assets/diagram-KO2AKTUF-BR6CIJyT.js +3 -0
  26. package/dist/web/assets/diagram-LMA3HP47-CNtClLgB.js +24 -0
  27. package/dist/web/assets/diagram-OG6HWLK6-6C-uLOFp.js +24 -0
  28. package/dist/web/assets/erDiagram-TEJ5UH35-WbZOwkSY.js +85 -0
  29. package/dist/web/assets/flowDiagram-I6XJVG4X-DkXzWb1H.js +162 -0
  30. package/dist/web/assets/ganttDiagram-6RSMTGT7-CUvI4hDd.js +292 -0
  31. package/dist/web/assets/gitGraphDiagram-PVQCEYII-DQ5Z5DTr.js +106 -0
  32. package/dist/web/assets/graph-Dqkl27Ch.js +1 -0
  33. package/dist/web/assets/{index-B1T3YjX6.js → index-DJa2Qm_q.js} +1738 -1737
  34. package/dist/web/assets/index-DljfurDC.css +1 -0
  35. package/dist/web/assets/{index.es-CgEQDFi5.js → index.es-DU_7oRoK.js} +1 -1
  36. package/dist/web/assets/infoDiagram-5YYISTIA-CVl3bX4h.js +2 -0
  37. package/dist/web/assets/init-BFKUnIhM.js +1 -0
  38. package/dist/web/assets/ishikawaDiagram-YF4QCWOH-CQs9MZtd.js +70 -0
  39. package/dist/web/assets/journeyDiagram-JHISSGLW-B9emRTSL.js +139 -0
  40. package/dist/web/assets/{jspdf.es.min-CvwMPY1k.js → jspdf.es.min-DO9eBtyx.js} +3 -3
  41. package/dist/web/assets/kanban-definition-UN3LZRKU-CU4PXBkO.js +89 -0
  42. package/dist/web/assets/katex-C5jXJg4s.js +257 -0
  43. package/dist/web/assets/layout-DO9UvE1P.js +1 -0
  44. package/dist/web/assets/linear-Djd98ym6.js +1 -0
  45. package/dist/web/assets/markdown-Dtbihta2.js +1 -0
  46. package/dist/web/assets/mermaid.core--5B4uu7H.js +307 -0
  47. package/dist/web/assets/mindmap-definition-RKZ34NQL-DBa-qOvW.js +96 -0
  48. package/dist/web/assets/ordinal-BQ3KlzSu.js +1 -0
  49. package/dist/web/assets/pieDiagram-4H26LBE5-BgO03eBD.js +30 -0
  50. package/dist/web/assets/quadrantDiagram-W4KKPZXB-D5qnQqxO.js +7 -0
  51. package/dist/web/assets/requirementDiagram-4Y6WPE33-CvFTU_QP.js +84 -0
  52. package/dist/web/assets/sankeyDiagram-5OEKKPKP-BSwt6J0r.js +40 -0
  53. package/dist/web/assets/sequenceDiagram-3UESZ5HK-B6xwt7gx.js +162 -0
  54. package/dist/web/assets/stateDiagram-AJRCARHV-B4aBLe9A.js +1 -0
  55. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-D1iGL3Mj.js +1 -0
  56. package/dist/web/assets/step-CWvwoXpJ.js +1 -0
  57. package/dist/web/assets/time-VmDaOXzG.js +1 -0
  58. package/dist/web/assets/timeline-definition-PNZ67QCA-Bp46ZbZu.js +120 -0
  59. package/dist/web/assets/vennDiagram-CIIHVFJN-ObB0ozDF.js +34 -0
  60. package/dist/web/assets/wardley-L42UT6IY-DZQGppGX.js +173 -0
  61. package/dist/web/assets/wardleyDiagram-YWT4CUSO-B3dCDfV5.js +78 -0
  62. package/dist/web/assets/xychartDiagram-2RQKCTM6-CpxmkRi4.js +7 -0
  63. package/dist/web/index.html +2 -2
  64. package/package.json +65 -56
  65. package/src/schema-catalog.ts +2 -0
  66. package/src/schema.ts +88 -23
  67. package/src/vendored-canvas-catalog.ts +108 -0
  68. package/dist/web/assets/chart-Bk7w2gX0.js +0 -73
  69. package/dist/web/assets/index-DJdVTUx5.css +0 -1
  70. package/dist/web/assets/markdown-tPuLLX8d.js +0 -1
@@ -0,0 +1,108 @@
1
+ import { z } from 'zod';
2
+
3
+ // `$ref` shapes accepted in any prop slot. Resolved at render time by the
4
+ // json-render runtime — Zod here only enforces structural shape; path /
5
+ // action-name validity is enforced by superRefine in apps/studio/src/schema.ts.
6
+ const StateRef = z.object({ $state: z.string().min(1) });
7
+ const ActionRef = z.object({ $action: z.string().min(1) });
8
+ const CondRef = z.object({
9
+ $cond: z.unknown(),
10
+ $then: z.unknown(),
11
+ $else: z.unknown().optional(),
12
+ });
13
+ const refOr = <T extends z.ZodTypeAny>(t: T) => z.union([t, StateRef, ActionRef, CondRef]);
14
+
15
+ const StringProp = refOr(z.string());
16
+ const NumberProp = refOr(z.number());
17
+ const BoolProp = refOr(z.boolean());
18
+
19
+ const PropsSchemas = {
20
+ Card: z.object({ title: StringProp.optional() }),
21
+ Separator: z.object({ orientation: refOr(z.enum(['horizontal', 'vertical'])).optional() }),
22
+ Tabs: z.object({
23
+ value: StringProp.optional(),
24
+ items: z.array(z.object({ id: z.string(), label: z.string() })),
25
+ onChange: ActionRef.optional(),
26
+ }),
27
+ Accordion: z.object({
28
+ items: z.array(z.object({ id: z.string(), title: z.string(), content: z.string() })),
29
+ }),
30
+ Badge: z.object({
31
+ label: StringProp,
32
+ variant: refOr(z.enum(['default', 'secondary', 'destructive', 'outline'])).optional(),
33
+ }),
34
+ Avatar: z.object({
35
+ src: StringProp.optional(),
36
+ alt: StringProp.optional(),
37
+ fallback: StringProp.optional(),
38
+ }),
39
+ Progress: z.object({ value: NumberProp }),
40
+ Skeleton: z.object({ width: NumberProp.optional(), height: NumberProp.optional() }),
41
+ Label: z.object({ text: StringProp }),
42
+ Heading: z.object({
43
+ level: refOr(z.union([z.literal(1), z.literal(2), z.literal(3), z.literal(4)])).optional(),
44
+ text: StringProp,
45
+ }),
46
+ Text: z.object({ text: StringProp, muted: BoolProp.optional() }),
47
+ Icon: z.object({ name: StringProp, size: NumberProp.optional() }),
48
+ Chart: z.object({
49
+ kind: refOr(z.enum(['bar', 'line', 'area', 'pie'])),
50
+ data: refOr(z.array(z.record(z.string(), z.unknown()))),
51
+ xKey: StringProp.optional(),
52
+ series: z.array(z.object({ key: z.string(), label: z.string().optional() })).optional(),
53
+ }),
54
+ Table: z.object({
55
+ columns: z.array(z.object({ key: z.string(), label: z.string() })),
56
+ rows: refOr(z.array(z.record(z.string(), z.unknown()))),
57
+ }),
58
+ Metric: z.object({ label: StringProp, value: refOr(z.union([z.string(), z.number()])) }),
59
+ CodeBlock: z.object({ code: StringProp, language: StringProp.optional() }),
60
+ Markdown: z.object({ content: StringProp }),
61
+ Button: z.object({
62
+ label: StringProp,
63
+ variant: refOr(
64
+ z.enum(['default', 'destructive', 'outline', 'secondary', 'ghost', 'link']),
65
+ ).optional(),
66
+ onClick: ActionRef.optional(),
67
+ disabled: BoolProp.optional(),
68
+ }),
69
+ Input: z.object({
70
+ value: StringProp.optional(),
71
+ placeholder: StringProp.optional(),
72
+ onChange: ActionRef.optional(),
73
+ }),
74
+ Checkbox: z.object({
75
+ checked: BoolProp.optional(),
76
+ onChange: ActionRef.optional(),
77
+ label: StringProp.optional(),
78
+ }),
79
+ Switch: z.object({ checked: BoolProp.optional(), onChange: ActionRef.optional() }),
80
+ Select: z.object({
81
+ value: StringProp.optional(),
82
+ items: z.array(z.object({ value: z.string(), label: z.string() })),
83
+ onChange: ActionRef.optional(),
84
+ }),
85
+ Textarea: z.object({
86
+ value: StringProp.optional(),
87
+ placeholder: StringProp.optional(),
88
+ rows: NumberProp.optional(),
89
+ onChange: ActionRef.optional(),
90
+ }),
91
+ Slider: z.object({
92
+ value: NumberProp.optional(),
93
+ min: NumberProp.optional(),
94
+ max: NumberProp.optional(),
95
+ step: NumberProp.optional(),
96
+ onChange: ActionRef.optional(),
97
+ }),
98
+ } as const;
99
+
100
+ export const COMPONENT_NAMES = Object.keys(PropsSchemas) as Array<keyof typeof PropsSchemas>;
101
+
102
+ export const componentCatalog = {
103
+ components: Object.fromEntries(
104
+ COMPONENT_NAMES.map((name) => [name, { props: PropsSchemas[name], description: name }]),
105
+ ) as Record<string, { props: z.ZodTypeAny; description: string }>,
106
+ };
107
+
108
+ export type ComponentName = (typeof COMPONENT_NAMES)[number];