@neo4j-ndl/react-graph 1.2.44 → 1.3.1

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 (96) hide show
  1. package/lib/cjs/graph-visualization-buttons.js +1 -3
  2. package/lib/cjs/graph-visualization-buttons.js.map +1 -1
  3. package/lib/cjs/graph-visualization-context.js.map +1 -1
  4. package/lib/cjs/graph-visualization.js +7 -5
  5. package/lib/cjs/graph-visualization.js.map +1 -1
  6. package/lib/cjs/index.js.map +1 -1
  7. package/lib/cjs/sidepanel-components/details-panel.js +5 -11
  8. package/lib/cjs/sidepanel-components/details-panel.js.map +1 -1
  9. package/lib/cjs/sidepanel-components/graph-label-wrapper.js +40 -0
  10. package/lib/cjs/sidepanel-components/graph-label-wrapper.js.map +1 -0
  11. package/lib/cjs/sidepanel-components/overview-panel.js +3 -12
  12. package/lib/cjs/sidepanel-components/overview-panel.js.map +1 -1
  13. package/lib/cjs/stories/graph-visualization-rule-based-styling-advanced.story.js +247 -0
  14. package/lib/cjs/stories/graph-visualization-rule-based-styling-advanced.story.js.map +1 -0
  15. package/lib/cjs/stories/graph-visualization-rule-based-styling.story.js +79 -0
  16. package/lib/cjs/stories/graph-visualization-rule-based-styling.story.js.map +1 -0
  17. package/lib/cjs/stories/graph-visualization-simple-styling.story.js +57 -0
  18. package/lib/cjs/stories/graph-visualization-simple-styling.story.js.map +1 -0
  19. package/lib/cjs/stories/index.js +23 -10
  20. package/lib/cjs/stories/index.js.map +1 -1
  21. package/lib/cjs/stories/story-data.js +906 -3
  22. package/lib/cjs/stories/story-data.js.map +1 -1
  23. package/lib/cjs/styling/compile-graph-styles.js +22 -21
  24. package/lib/cjs/styling/compile-graph-styles.js.map +1 -1
  25. package/lib/cjs/styling/create-vis-data-structures.js +126 -0
  26. package/lib/cjs/styling/create-vis-data-structures.js.map +1 -0
  27. package/lib/cjs/styling/use-graph-data.js +35 -0
  28. package/lib/cjs/styling/use-graph-data.js.map +1 -0
  29. package/lib/cjs/utils.js +23 -9
  30. package/lib/cjs/utils.js.map +1 -1
  31. package/lib/esm/graph-visualization-buttons.js +1 -3
  32. package/lib/esm/graph-visualization-buttons.js.map +1 -1
  33. package/lib/esm/graph-visualization-context.js.map +1 -1
  34. package/lib/esm/graph-visualization.js +7 -5
  35. package/lib/esm/graph-visualization.js.map +1 -1
  36. package/lib/esm/index.js.map +1 -1
  37. package/lib/esm/sidepanel-components/details-panel.js +6 -12
  38. package/lib/esm/sidepanel-components/details-panel.js.map +1 -1
  39. package/lib/esm/sidepanel-components/graph-label-wrapper.js +33 -0
  40. package/lib/esm/sidepanel-components/graph-label-wrapper.js.map +1 -0
  41. package/lib/esm/sidepanel-components/overview-panel.js +4 -13
  42. package/lib/esm/sidepanel-components/overview-panel.js.map +1 -1
  43. package/lib/esm/stories/graph-visualization-rule-based-styling-advanced.story.js +244 -0
  44. package/lib/esm/stories/graph-visualization-rule-based-styling-advanced.story.js.map +1 -0
  45. package/lib/esm/stories/graph-visualization-rule-based-styling.story.js +76 -0
  46. package/lib/esm/stories/graph-visualization-rule-based-styling.story.js.map +1 -0
  47. package/lib/esm/stories/graph-visualization-simple-styling.story.js +54 -0
  48. package/lib/esm/stories/graph-visualization-simple-styling.story.js.map +1 -0
  49. package/lib/esm/stories/index.js +18 -8
  50. package/lib/esm/stories/index.js.map +1 -1
  51. package/lib/esm/stories/story-data.js +905 -2
  52. package/lib/esm/stories/story-data.js.map +1 -1
  53. package/lib/esm/styling/compile-graph-styles.js +22 -21
  54. package/lib/esm/styling/compile-graph-styles.js.map +1 -1
  55. package/lib/esm/styling/create-vis-data-structures.js +122 -0
  56. package/lib/esm/styling/create-vis-data-structures.js.map +1 -0
  57. package/lib/esm/styling/use-graph-data.js +32 -0
  58. package/lib/esm/styling/use-graph-data.js.map +1 -0
  59. package/lib/esm/utils.js +20 -8
  60. package/lib/esm/utils.js.map +1 -1
  61. package/lib/types/graph-visualization-buttons.d.ts.map +1 -1
  62. package/lib/types/graph-visualization-context.d.ts +15 -9
  63. package/lib/types/graph-visualization-context.d.ts.map +1 -1
  64. package/lib/types/graph-visualization.d.ts +8 -1
  65. package/lib/types/graph-visualization.d.ts.map +1 -1
  66. package/lib/types/index.d.ts +2 -1
  67. package/lib/types/index.d.ts.map +1 -1
  68. package/lib/types/sidepanel-components/details-panel.d.ts.map +1 -1
  69. package/lib/types/{map-to-nvl-graph.d.ts → sidepanel-components/graph-label-wrapper.d.ts} +10 -17
  70. package/lib/types/sidepanel-components/graph-label-wrapper.d.ts.map +1 -0
  71. package/lib/types/sidepanel-components/overview-panel.d.ts.map +1 -1
  72. package/lib/types/stories/graph-visualization-rule-based-styling-advanced.story.d.ts +33 -0
  73. package/lib/types/stories/graph-visualization-rule-based-styling-advanced.story.d.ts.map +1 -0
  74. package/lib/types/stories/graph-visualization-rule-based-styling.story.d.ts +25 -0
  75. package/lib/types/stories/graph-visualization-rule-based-styling.story.d.ts.map +1 -0
  76. package/lib/types/stories/graph-visualization-simple-styling.story.d.ts +25 -0
  77. package/lib/types/stories/graph-visualization-simple-styling.story.d.ts.map +1 -0
  78. package/lib/types/stories/index.d.ts +7 -1
  79. package/lib/types/stories/index.d.ts.map +1 -1
  80. package/lib/types/stories/story-data.d.ts +4 -0
  81. package/lib/types/stories/story-data.d.ts.map +1 -1
  82. package/lib/types/styling/compile-graph-styles.d.ts +2 -5
  83. package/lib/types/styling/compile-graph-styles.d.ts.map +1 -1
  84. package/lib/types/styling/create-vis-data-structures.d.ts +28 -0
  85. package/lib/types/styling/create-vis-data-structures.d.ts.map +1 -0
  86. package/lib/types/styling/style-types.d.ts +2 -2
  87. package/lib/types/styling/use-graph-data.d.ts +28 -0
  88. package/lib/types/styling/use-graph-data.d.ts.map +1 -0
  89. package/lib/types/utils.d.ts +5 -3
  90. package/lib/types/utils.d.ts.map +1 -1
  91. package/package.json +3 -3
  92. package/lib/cjs/map-to-nvl-graph.js +0 -167
  93. package/lib/cjs/map-to-nvl-graph.js.map +0 -1
  94. package/lib/esm/map-to-nvl-graph.js +0 -162
  95. package/lib/esm/map-to-nvl-graph.js.map +0 -1
  96. package/lib/types/map-to-nvl-graph.d.ts.map +0 -1
@@ -57,12 +57,17 @@ export const StoryGraph = {
57
57
  {
58
58
  id: 'node2',
59
59
  labels: ['Type'],
60
- properties: { name: { stringified: 'Dragon', type: 'String' } },
60
+ properties: { name: { stringified: '"Dragon"', type: 'string' } },
61
61
  },
62
62
  {
63
63
  id: 'node3',
64
64
  labels: ['Type'],
65
- properties: { name: { stringified: 'Flying', type: 'String' } },
65
+ properties: { name: { stringified: '"Flying"', type: 'string' } },
66
+ },
67
+ {
68
+ id: 'node4',
69
+ labels: ['Pokemon'],
70
+ properties: { name: { stringified: '"Pidgey"', type: 'string' } },
66
71
  },
67
72
  ],
68
73
  rels: [
@@ -80,6 +85,904 @@ export const StoryGraph = {
80
85
  to: 'node3',
81
86
  type: 'HAS_TYPE',
82
87
  },
88
+ {
89
+ from: 'node4',
90
+ id: 'rel3',
91
+ properties: {},
92
+ to: 'node3',
93
+ type: 'HAS_TYPE',
94
+ },
95
+ ],
96
+ };
97
+ export const advancedStoryGraph = {
98
+ nodes: [
99
+ // Trainers
100
+ {
101
+ id: 'trainer1',
102
+ labels: ['Trainer'],
103
+ properties: {
104
+ name: { stringified: '"Ash"', type: 'string' },
105
+ level: { stringified: '85', type: 'integer' },
106
+ badges: { stringified: '8', type: 'integer' },
107
+ reputation: { stringified: '"Champion"', type: 'string' },
108
+ },
109
+ },
110
+ {
111
+ id: 'trainer2',
112
+ labels: ['Trainer'],
113
+ properties: {
114
+ name: { stringified: '"Misty"', type: 'string' },
115
+ level: { stringified: '72', type: 'integer' },
116
+ badges: { stringified: '8', type: 'integer' },
117
+ reputation: { stringified: '"Gym Leader"', type: 'string' },
118
+ },
119
+ },
120
+ {
121
+ id: 'trainer3',
122
+ labels: ['Trainer'],
123
+ properties: {
124
+ name: { stringified: '"Gary"', type: 'string' },
125
+ level: { stringified: '80', type: 'integer' },
126
+ badges: { stringified: '8', type: 'integer' },
127
+ reputation: { stringified: '"Rival"', type: 'string' },
128
+ },
129
+ },
130
+ {
131
+ id: 'trainer4',
132
+ labels: ['Trainer'],
133
+ properties: {
134
+ name: { stringified: '"Brock"', type: 'string' },
135
+ level: { stringified: '68', type: 'integer' },
136
+ badges: { stringified: '2', type: 'integer' },
137
+ reputation: { stringified: '"Breeder"', type: 'string' },
138
+ },
139
+ },
140
+ // Gyms
141
+ {
142
+ id: 'gym1',
143
+ labels: ['Gym'],
144
+ properties: {
145
+ name: { stringified: '"Cerulean Gym"', type: 'string' },
146
+ city: { stringified: '"Cerulean City"', type: 'string' },
147
+ type: { stringified: '"Water"', type: 'string' },
148
+ badge: { stringified: '"Cascade Badge"', type: 'string' },
149
+ },
150
+ },
151
+ // Ash's Pokemon
152
+ {
153
+ id: 'pokemon1',
154
+ labels: ['Pokemon'],
155
+ properties: {
156
+ name: { stringified: '"Pikachu"', type: 'string' },
157
+ level: { stringified: '88', type: 'integer' },
158
+ is_starter: { stringified: 'true', type: 'boolean' },
159
+ catch_rate: { stringified: '190.0', type: 'float' },
160
+ },
161
+ },
162
+ {
163
+ id: 'pokemon2',
164
+ labels: ['Pokemon'],
165
+ properties: {
166
+ name: { stringified: '"Charizard"', type: 'string' },
167
+ level: { stringified: '82', type: 'integer' },
168
+ is_starter: { stringified: 'false', type: 'boolean' },
169
+ catch_rate: { stringified: '45.0', type: 'float' },
170
+ },
171
+ },
172
+ {
173
+ id: 'pokemon3',
174
+ labels: ['Pokemon'],
175
+ properties: {
176
+ name: { stringified: '"Greninja"', type: 'string' },
177
+ level: { stringified: '80', type: 'integer' },
178
+ is_starter: { stringified: 'false', type: 'boolean' },
179
+ catch_rate: { stringified: '45.0', type: 'float' },
180
+ },
181
+ },
182
+ // Misty's Pokemon
183
+ {
184
+ id: 'pokemon4',
185
+ labels: ['Pokemon'],
186
+ properties: {
187
+ name: { stringified: '"Starmie"', type: 'string' },
188
+ level: { stringified: '75', type: 'integer' },
189
+ is_starter: { stringified: 'false', type: 'boolean' },
190
+ catch_rate: { stringified: '60.0', type: 'float' },
191
+ },
192
+ },
193
+ {
194
+ id: 'pokemon5',
195
+ labels: ['Pokemon'],
196
+ properties: {
197
+ name: { stringified: '"Psyduck"', type: 'string' },
198
+ level: { stringified: '65', type: 'integer' },
199
+ is_starter: { stringified: 'false', type: 'boolean' },
200
+ catch_rate: { stringified: '190.0', type: 'float' },
201
+ },
202
+ },
203
+ {
204
+ id: 'pokemon6',
205
+ labels: ['Pokemon'],
206
+ properties: {
207
+ name: { stringified: '"Gyarados"', type: 'string' },
208
+ level: { stringified: '78', type: 'integer' },
209
+ is_starter: { stringified: 'false', type: 'boolean' },
210
+ catch_rate: { stringified: '45.0', type: 'float' },
211
+ },
212
+ },
213
+ // Gary's Pokemon
214
+ {
215
+ id: 'pokemon7',
216
+ labels: ['Pokemon'],
217
+ properties: {
218
+ name: { stringified: '"Blastoise"', type: 'string' },
219
+ level: { stringified: '83', type: 'integer' },
220
+ is_starter: { stringified: 'false', type: 'boolean' },
221
+ catch_rate: { stringified: '45.0', type: 'float' },
222
+ },
223
+ },
224
+ {
225
+ id: 'pokemon8',
226
+ labels: ['Pokemon'],
227
+ properties: {
228
+ name: { stringified: '"Umbreon"', type: 'string' },
229
+ level: { stringified: '79', type: 'integer' },
230
+ is_starter: { stringified: 'false', type: 'boolean' },
231
+ catch_rate: { stringified: '45.0', type: 'float' },
232
+ },
233
+ },
234
+ {
235
+ id: 'pokemon9',
236
+ labels: ['Pokemon'],
237
+ properties: {
238
+ name: { stringified: '"Electivire"', type: 'string' },
239
+ level: { stringified: '81', type: 'integer' },
240
+ is_starter: { stringified: 'false', type: 'boolean' },
241
+ catch_rate: { stringified: '30.0', type: 'float' },
242
+ },
243
+ },
244
+ // Brock's Pokemon
245
+ {
246
+ id: 'pokemon10',
247
+ labels: ['Pokemon'],
248
+ properties: {
249
+ name: { stringified: '"Onix"', type: 'string' },
250
+ level: { stringified: '70', type: 'integer' },
251
+ is_starter: { stringified: 'true', type: 'boolean' },
252
+ catch_rate: { stringified: '45.0', type: 'float' },
253
+ },
254
+ },
255
+ // Evolution Pokemon (pre-evolutions and uncaught)
256
+ {
257
+ id: 'pokemon11',
258
+ labels: ['Pokemon'],
259
+ properties: {
260
+ name: { stringified: '"Pichu"', type: 'string' },
261
+ level: { stringified: '1', type: 'integer' },
262
+ is_starter: { stringified: 'false', type: 'boolean' },
263
+ catch_rate: { stringified: '190.0', type: 'float' },
264
+ },
265
+ },
266
+ {
267
+ id: 'pokemon12',
268
+ labels: ['Pokemon'],
269
+ properties: {
270
+ name: { stringified: '"Raichu"', type: 'string' },
271
+ level: { stringified: '1', type: 'integer' },
272
+ is_starter: { stringified: 'false', type: 'boolean' },
273
+ catch_rate: { stringified: '75.0', type: 'float' },
274
+ },
275
+ },
276
+ {
277
+ id: 'pokemon13',
278
+ labels: ['Pokemon'],
279
+ properties: {
280
+ name: { stringified: '"Charmander"', type: 'string' },
281
+ level: { stringified: '1', type: 'integer' },
282
+ is_starter: { stringified: 'true', type: 'boolean' },
283
+ catch_rate: { stringified: '45.0', type: 'float' },
284
+ },
285
+ },
286
+ {
287
+ id: 'pokemon14',
288
+ labels: ['Pokemon'],
289
+ properties: {
290
+ name: { stringified: '"Charmeleon"', type: 'string' },
291
+ level: { stringified: '1', type: 'integer' },
292
+ is_starter: { stringified: 'false', type: 'boolean' },
293
+ catch_rate: { stringified: '45.0', type: 'float' },
294
+ },
295
+ },
296
+ {
297
+ id: 'pokemon15',
298
+ labels: ['Pokemon'],
299
+ properties: {
300
+ name: { stringified: '"Staryu"', type: 'string' },
301
+ level: { stringified: '1', type: 'integer' },
302
+ is_starter: { stringified: 'false', type: 'boolean' },
303
+ catch_rate: { stringified: '225.0', type: 'float' },
304
+ },
305
+ },
306
+ {
307
+ id: 'pokemon16',
308
+ labels: ['Pokemon'],
309
+ properties: {
310
+ name: { stringified: '"Golduck"', type: 'string' },
311
+ level: { stringified: '1', type: 'integer' },
312
+ is_starter: { stringified: 'false', type: 'boolean' },
313
+ catch_rate: { stringified: '75.0', type: 'float' },
314
+ },
315
+ },
316
+ {
317
+ id: 'pokemon17',
318
+ labels: ['Pokemon'],
319
+ properties: {
320
+ name: { stringified: '"Magikarp"', type: 'string' },
321
+ level: { stringified: '1', type: 'integer' },
322
+ is_starter: { stringified: 'false', type: 'boolean' },
323
+ catch_rate: { stringified: '255.0', type: 'float' },
324
+ },
325
+ },
326
+ {
327
+ id: 'pokemon18',
328
+ labels: ['Pokemon'],
329
+ properties: {
330
+ name: { stringified: '"Eevee"', type: 'string' },
331
+ level: { stringified: '1', type: 'integer' },
332
+ is_starter: { stringified: 'true', type: 'boolean' },
333
+ catch_rate: { stringified: '45.0', type: 'float' },
334
+ },
335
+ },
336
+ {
337
+ id: 'pokemon19',
338
+ labels: ['Pokemon'],
339
+ properties: {
340
+ name: { stringified: '"Steelix"', type: 'string' },
341
+ level: { stringified: '1', type: 'integer' },
342
+ is_starter: { stringified: 'false', type: 'boolean' },
343
+ catch_rate: { stringified: '25.0', type: 'float' },
344
+ },
345
+ },
346
+ // Uncaught evolution line: Bulbasaur line
347
+ {
348
+ id: 'pokemon20',
349
+ labels: ['Pokemon'],
350
+ properties: {
351
+ name: { stringified: '"Bulbasaur"', type: 'string' },
352
+ level: { stringified: '1', type: 'integer' },
353
+ is_starter: { stringified: 'true', type: 'boolean' },
354
+ catch_rate: { stringified: '45.0', type: 'float' },
355
+ },
356
+ },
357
+ {
358
+ id: 'pokemon21',
359
+ labels: ['Pokemon'],
360
+ properties: {
361
+ name: { stringified: '"Ivysaur"', type: 'string' },
362
+ level: { stringified: '1', type: 'integer' },
363
+ is_starter: { stringified: 'false', type: 'boolean' },
364
+ catch_rate: { stringified: '45.0', type: 'float' },
365
+ },
366
+ },
367
+ {
368
+ id: 'pokemon22',
369
+ labels: ['Pokemon'],
370
+ properties: {
371
+ name: { stringified: '"Venusaur"', type: 'string' },
372
+ level: { stringified: '1', type: 'integer' },
373
+ is_starter: { stringified: 'false', type: 'boolean' },
374
+ catch_rate: { stringified: '45.0', type: 'float' },
375
+ },
376
+ },
377
+ // Types
378
+ {
379
+ id: 'type1',
380
+ labels: ['Type'],
381
+ properties: {
382
+ name: { stringified: '"Electric"', type: 'string' },
383
+ },
384
+ },
385
+ {
386
+ id: 'type2',
387
+ labels: ['Type'],
388
+ properties: {
389
+ name: { stringified: '"Fire"', type: 'string' },
390
+ },
391
+ },
392
+ {
393
+ id: 'type3',
394
+ labels: ['Type'],
395
+ properties: {
396
+ name: { stringified: '"Flying"', type: 'string' },
397
+ },
398
+ },
399
+ {
400
+ id: 'type4',
401
+ labels: ['Type'],
402
+ properties: {
403
+ name: { stringified: '"Water"', type: 'string' },
404
+ },
405
+ },
406
+ {
407
+ id: 'type5',
408
+ labels: ['Type'],
409
+ properties: {
410
+ name: { stringified: '"Dark"', type: 'string' },
411
+ },
412
+ },
413
+ {
414
+ id: 'type6',
415
+ labels: ['Type'],
416
+ properties: {
417
+ name: { stringified: '"Psychic"', type: 'string' },
418
+ },
419
+ },
420
+ {
421
+ id: 'type7',
422
+ labels: ['Type'],
423
+ properties: {
424
+ name: { stringified: '"Rock"', type: 'string' },
425
+ },
426
+ },
427
+ {
428
+ id: 'type8',
429
+ labels: ['Type'],
430
+ properties: {
431
+ name: { stringified: '"Ground"', type: 'string' },
432
+ },
433
+ },
434
+ {
435
+ id: 'type9',
436
+ labels: ['Type'],
437
+ properties: {
438
+ name: { stringified: '"Grass"', type: 'string' },
439
+ },
440
+ },
441
+ {
442
+ id: 'type10',
443
+ labels: ['Type'],
444
+ properties: {
445
+ name: { stringified: '"Poison"', type: 'string' },
446
+ },
447
+ },
448
+ {
449
+ id: 'type11',
450
+ labels: ['Type'],
451
+ properties: {
452
+ name: { stringified: '"Steel"', type: 'string' },
453
+ },
454
+ },
455
+ {
456
+ id: 'type12',
457
+ labels: ['Type'],
458
+ properties: {
459
+ name: { stringified: '"Normal"', type: 'string' },
460
+ },
461
+ },
462
+ ],
463
+ rels: [
464
+ // Trainer -> Pokemon relationships (CAUGHT)
465
+ // Ash's Pokemon
466
+ {
467
+ id: 'rel_p1',
468
+ from: 'trainer1',
469
+ to: 'pokemon1',
470
+ type: 'CAUGHT',
471
+ properties: {
472
+ at: { stringified: '"1997-04-01"', type: 'string' },
473
+ level: { stringified: '5', type: 'integer' },
474
+ },
475
+ },
476
+ {
477
+ id: 'rel_p2',
478
+ from: 'trainer1',
479
+ to: 'pokemon2',
480
+ type: 'CAUGHT',
481
+ properties: {
482
+ at: { stringified: '"1997-06-15"', type: 'string' },
483
+ level: { stringified: '7', type: 'integer' },
484
+ },
485
+ },
486
+ {
487
+ id: 'rel_p3',
488
+ from: 'trainer1',
489
+ to: 'pokemon3',
490
+ type: 'CAUGHT',
491
+ properties: {
492
+ at: { stringified: '"2015-10-22"', type: 'string' },
493
+ level: { stringified: '5', type: 'integer' },
494
+ },
495
+ },
496
+ // Misty's Pokemon
497
+ {
498
+ id: 'rel_p4',
499
+ from: 'trainer2',
500
+ to: 'pokemon4',
501
+ type: 'CAUGHT',
502
+ properties: {
503
+ at: { stringified: '"1996-08-10"', type: 'string' },
504
+ level: { stringified: '20', type: 'integer' },
505
+ },
506
+ },
507
+ {
508
+ id: 'rel_p5',
509
+ from: 'trainer2',
510
+ to: 'pokemon5',
511
+ type: 'CAUGHT',
512
+ properties: {
513
+ at: { stringified: '"1997-09-12"', type: 'string' },
514
+ level: { stringified: '15', type: 'integer' },
515
+ },
516
+ },
517
+ {
518
+ id: 'rel_p6',
519
+ from: 'trainer2',
520
+ to: 'pokemon6',
521
+ type: 'CAUGHT',
522
+ properties: {
523
+ at: { stringified: '"1998-02-18"', type: 'string' },
524
+ level: { stringified: '10', type: 'integer' },
525
+ },
526
+ },
527
+ // Gary's Pokemon
528
+ {
529
+ id: 'rel_p7',
530
+ from: 'trainer3',
531
+ to: 'pokemon7',
532
+ type: 'CAUGHT',
533
+ properties: {
534
+ at: { stringified: '"1997-04-01"', type: 'string' },
535
+ level: { stringified: '5', type: 'integer' },
536
+ },
537
+ },
538
+ {
539
+ id: 'rel_p8',
540
+ from: 'trainer3',
541
+ to: 'pokemon8',
542
+ type: 'CAUGHT',
543
+ properties: {
544
+ at: { stringified: '"1999-12-14"', type: 'string' },
545
+ level: { stringified: '12', type: 'integer' },
546
+ },
547
+ },
548
+ {
549
+ id: 'rel_p9',
550
+ from: 'trainer3',
551
+ to: 'pokemon9',
552
+ type: 'CAUGHT',
553
+ properties: {
554
+ at: { stringified: '"2008-05-29"', type: 'string' },
555
+ level: { stringified: '30', type: 'integer' },
556
+ },
557
+ },
558
+ // Brock's Pokemon
559
+ {
560
+ id: 'rel_p10',
561
+ from: 'trainer4',
562
+ to: 'pokemon10',
563
+ type: 'CAUGHT',
564
+ properties: {
565
+ at: { stringified: '"1995-03-20"', type: 'string' },
566
+ level: { stringified: '8', type: 'integer' },
567
+ },
568
+ },
569
+ // Gym leadership
570
+ {
571
+ id: 'rel1',
572
+ from: 'trainer2',
573
+ to: 'gym1',
574
+ type: 'LEADS',
575
+ properties: {
576
+ since: { stringified: '"1998-03-15"', type: 'string' },
577
+ },
578
+ },
579
+ // Gym -> Type specialization
580
+ {
581
+ id: 'rel_gym_type',
582
+ from: 'gym1',
583
+ to: 'type4',
584
+ type: 'SPECIALIZES_IN',
585
+ properties: {},
586
+ },
587
+ // Ash's gym battle
588
+ {
589
+ id: 'rel2',
590
+ from: 'trainer1',
591
+ to: 'gym1',
592
+ type: 'BATTLED',
593
+ properties: {
594
+ date: { stringified: '"2024-05-10"', type: 'string' },
595
+ won: { stringified: 'true', type: 'boolean' },
596
+ attempt: { stringified: '1', type: 'integer' },
597
+ },
598
+ },
599
+ // Gary's first gym battle (lost)
600
+ {
601
+ id: 'rel3',
602
+ from: 'trainer3',
603
+ to: 'gym1',
604
+ type: 'BATTLED',
605
+ properties: {
606
+ date: { stringified: '"2024-04-15"', type: 'string' },
607
+ won: { stringified: 'false', type: 'boolean' },
608
+ attempt: { stringified: '1', type: 'integer' },
609
+ },
610
+ },
611
+ // Gary's second gym battle (won)
612
+ {
613
+ id: 'rel4',
614
+ from: 'trainer3',
615
+ to: 'gym1',
616
+ type: 'BATTLED',
617
+ properties: {
618
+ date: { stringified: '"2024-06-20"', type: 'string' },
619
+ won: { stringified: 'true', type: 'boolean' },
620
+ attempt: { stringified: '2', type: 'integer' },
621
+ },
622
+ },
623
+ // Rival battles between Ash and Gary
624
+ {
625
+ id: 'rel5',
626
+ from: 'trainer1',
627
+ to: 'trainer3',
628
+ type: 'BATTLED',
629
+ properties: {
630
+ date: { stringified: '"2024-03-10"', type: 'string' },
631
+ won: { stringified: 'false', type: 'boolean' },
632
+ location: { stringified: '"Pallet Town"', type: 'string' },
633
+ },
634
+ },
635
+ {
636
+ id: 'rel6',
637
+ from: 'trainer1',
638
+ to: 'trainer3',
639
+ type: 'BATTLED',
640
+ properties: {
641
+ date: { stringified: '"2024-05-22"', type: 'string' },
642
+ won: { stringified: 'true', type: 'boolean' },
643
+ location: { stringified: '"Viridian City"', type: 'string' },
644
+ },
645
+ },
646
+ {
647
+ id: 'rel7',
648
+ from: 'trainer1',
649
+ to: 'trainer3',
650
+ type: 'BATTLED',
651
+ properties: {
652
+ date: { stringified: '"2024-07-15"', type: 'string' },
653
+ won: { stringified: 'true', type: 'boolean' },
654
+ location: { stringified: '"Indigo Plateau"', type: 'string' },
655
+ },
656
+ },
657
+ // Pokemon -> Type relationships (OF_TYPE)
658
+ {
659
+ id: 'rel_t1',
660
+ from: 'pokemon1',
661
+ to: 'type1',
662
+ type: 'OF_TYPE',
663
+ properties: {},
664
+ },
665
+ {
666
+ id: 'rel_t2',
667
+ from: 'pokemon2',
668
+ to: 'type2',
669
+ type: 'OF_TYPE',
670
+ properties: {},
671
+ },
672
+ {
673
+ id: 'rel_t3',
674
+ from: 'pokemon2',
675
+ to: 'type3',
676
+ type: 'OF_TYPE',
677
+ properties: {},
678
+ },
679
+ {
680
+ id: 'rel_t4',
681
+ from: 'pokemon3',
682
+ to: 'type4',
683
+ type: 'OF_TYPE',
684
+ properties: {},
685
+ },
686
+ {
687
+ id: 'rel_t5',
688
+ from: 'pokemon3',
689
+ to: 'type5',
690
+ type: 'OF_TYPE',
691
+ properties: {},
692
+ },
693
+ {
694
+ id: 'rel_t6',
695
+ from: 'pokemon4',
696
+ to: 'type4',
697
+ type: 'OF_TYPE',
698
+ properties: {},
699
+ },
700
+ {
701
+ id: 'rel_t7',
702
+ from: 'pokemon4',
703
+ to: 'type6',
704
+ type: 'OF_TYPE',
705
+ properties: {},
706
+ },
707
+ {
708
+ id: 'rel_t8',
709
+ from: 'pokemon5',
710
+ to: 'type4',
711
+ type: 'OF_TYPE',
712
+ properties: {},
713
+ },
714
+ {
715
+ id: 'rel_t9',
716
+ from: 'pokemon6',
717
+ to: 'type4',
718
+ type: 'OF_TYPE',
719
+ properties: {},
720
+ },
721
+ {
722
+ id: 'rel_t10',
723
+ from: 'pokemon6',
724
+ to: 'type3',
725
+ type: 'OF_TYPE',
726
+ properties: {},
727
+ },
728
+ {
729
+ id: 'rel_t11',
730
+ from: 'pokemon7',
731
+ to: 'type4',
732
+ type: 'OF_TYPE',
733
+ properties: {},
734
+ },
735
+ {
736
+ id: 'rel_t12',
737
+ from: 'pokemon8',
738
+ to: 'type5',
739
+ type: 'OF_TYPE',
740
+ properties: {},
741
+ },
742
+ {
743
+ id: 'rel_t13',
744
+ from: 'pokemon9',
745
+ to: 'type1',
746
+ type: 'OF_TYPE',
747
+ properties: {},
748
+ },
749
+ {
750
+ id: 'rel_t14',
751
+ from: 'pokemon10',
752
+ to: 'type7',
753
+ type: 'OF_TYPE',
754
+ properties: {},
755
+ },
756
+ {
757
+ id: 'rel_t15',
758
+ from: 'pokemon10',
759
+ to: 'type8',
760
+ type: 'OF_TYPE',
761
+ properties: {},
762
+ },
763
+ {
764
+ id: 'rel_t16',
765
+ from: 'pokemon11',
766
+ to: 'type1',
767
+ type: 'OF_TYPE',
768
+ properties: {},
769
+ },
770
+ {
771
+ id: 'rel_t17',
772
+ from: 'pokemon12',
773
+ to: 'type1',
774
+ type: 'OF_TYPE',
775
+ properties: {},
776
+ },
777
+ {
778
+ id: 'rel_t18',
779
+ from: 'pokemon13',
780
+ to: 'type2',
781
+ type: 'OF_TYPE',
782
+ properties: {},
783
+ },
784
+ {
785
+ id: 'rel_t19',
786
+ from: 'pokemon14',
787
+ to: 'type2',
788
+ type: 'OF_TYPE',
789
+ properties: {},
790
+ },
791
+ {
792
+ id: 'rel_t20',
793
+ from: 'pokemon15',
794
+ to: 'type4',
795
+ type: 'OF_TYPE',
796
+ properties: {},
797
+ },
798
+ {
799
+ id: 'rel_t21',
800
+ from: 'pokemon16',
801
+ to: 'type4',
802
+ type: 'OF_TYPE',
803
+ properties: {},
804
+ },
805
+ {
806
+ id: 'rel_t22',
807
+ from: 'pokemon17',
808
+ to: 'type4',
809
+ type: 'OF_TYPE',
810
+ properties: {},
811
+ },
812
+ {
813
+ id: 'rel_t23',
814
+ from: 'pokemon18',
815
+ to: 'type12',
816
+ type: 'OF_TYPE',
817
+ properties: {},
818
+ },
819
+ {
820
+ id: 'rel_t24',
821
+ from: 'pokemon19',
822
+ to: 'type11',
823
+ type: 'OF_TYPE',
824
+ properties: {},
825
+ },
826
+ {
827
+ id: 'rel_t25',
828
+ from: 'pokemon19',
829
+ to: 'type8',
830
+ type: 'OF_TYPE',
831
+ properties: {},
832
+ },
833
+ {
834
+ id: 'rel_t26',
835
+ from: 'pokemon20',
836
+ to: 'type9',
837
+ type: 'OF_TYPE',
838
+ properties: {},
839
+ },
840
+ {
841
+ id: 'rel_t27',
842
+ from: 'pokemon20',
843
+ to: 'type10',
844
+ type: 'OF_TYPE',
845
+ properties: {},
846
+ },
847
+ {
848
+ id: 'rel_t28',
849
+ from: 'pokemon21',
850
+ to: 'type9',
851
+ type: 'OF_TYPE',
852
+ properties: {},
853
+ },
854
+ {
855
+ id: 'rel_t29',
856
+ from: 'pokemon21',
857
+ to: 'type10',
858
+ type: 'OF_TYPE',
859
+ properties: {},
860
+ },
861
+ {
862
+ id: 'rel_t30',
863
+ from: 'pokemon22',
864
+ to: 'type9',
865
+ type: 'OF_TYPE',
866
+ properties: {},
867
+ },
868
+ {
869
+ id: 'rel_t31',
870
+ from: 'pokemon22',
871
+ to: 'type10',
872
+ type: 'OF_TYPE',
873
+ properties: {},
874
+ },
875
+ // Evolution relationships (EVOLVES_TO)
876
+ {
877
+ id: 'rel_e1',
878
+ from: 'pokemon11',
879
+ to: 'pokemon1',
880
+ type: 'EVOLVES_TO',
881
+ properties: {
882
+ level: { stringified: '0', type: 'integer' },
883
+ method: { stringified: '"Friendship"', type: 'string' },
884
+ },
885
+ },
886
+ {
887
+ id: 'rel_e2',
888
+ from: 'pokemon1',
889
+ to: 'pokemon12',
890
+ type: 'EVOLVES_TO',
891
+ properties: {
892
+ level: { stringified: '0', type: 'integer' },
893
+ method: { stringified: '"Thunder Stone"', type: 'string' },
894
+ },
895
+ },
896
+ {
897
+ id: 'rel_e3',
898
+ from: 'pokemon13',
899
+ to: 'pokemon14',
900
+ type: 'EVOLVES_TO',
901
+ properties: {
902
+ level: { stringified: '16', type: 'integer' },
903
+ method: { stringified: '"Level"', type: 'string' },
904
+ },
905
+ },
906
+ {
907
+ id: 'rel_e4',
908
+ from: 'pokemon14',
909
+ to: 'pokemon2',
910
+ type: 'EVOLVES_TO',
911
+ properties: {
912
+ level: { stringified: '36', type: 'integer' },
913
+ method: { stringified: '"Level"', type: 'string' },
914
+ },
915
+ },
916
+ {
917
+ id: 'rel_e5',
918
+ from: 'pokemon15',
919
+ to: 'pokemon4',
920
+ type: 'EVOLVES_TO',
921
+ properties: {
922
+ level: { stringified: '0', type: 'integer' },
923
+ method: { stringified: '"Water Stone"', type: 'string' },
924
+ },
925
+ },
926
+ {
927
+ id: 'rel_e6',
928
+ from: 'pokemon5',
929
+ to: 'pokemon16',
930
+ type: 'EVOLVES_TO',
931
+ properties: {
932
+ level: { stringified: '33', type: 'integer' },
933
+ method: { stringified: '"Level"', type: 'string' },
934
+ },
935
+ },
936
+ {
937
+ id: 'rel_e7',
938
+ from: 'pokemon17',
939
+ to: 'pokemon6',
940
+ type: 'EVOLVES_TO',
941
+ properties: {
942
+ level: { stringified: '20', type: 'integer' },
943
+ method: { stringified: '"Level"', type: 'string' },
944
+ },
945
+ },
946
+ {
947
+ id: 'rel_e8',
948
+ from: 'pokemon18',
949
+ to: 'pokemon8',
950
+ type: 'EVOLVES_TO',
951
+ properties: {
952
+ level: { stringified: '0', type: 'integer' },
953
+ method: { stringified: '"Friendship (Night)"', type: 'string' },
954
+ },
955
+ },
956
+ {
957
+ id: 'rel_e9',
958
+ from: 'pokemon10',
959
+ to: 'pokemon19',
960
+ type: 'EVOLVES_TO',
961
+ properties: {
962
+ level: { stringified: '0', type: 'integer' },
963
+ method: { stringified: '"Trade with Metal Coat"', type: 'string' },
964
+ },
965
+ },
966
+ {
967
+ id: 'rel_e10',
968
+ from: 'pokemon20',
969
+ to: 'pokemon21',
970
+ type: 'EVOLVES_TO',
971
+ properties: {
972
+ level: { stringified: '16', type: 'integer' },
973
+ method: { stringified: '"Level"', type: 'string' },
974
+ },
975
+ },
976
+ {
977
+ id: 'rel_e11',
978
+ from: 'pokemon21',
979
+ to: 'pokemon22',
980
+ type: 'EVOLVES_TO',
981
+ properties: {
982
+ level: { stringified: '32', type: 'integer' },
983
+ method: { stringified: '"Level"', type: 'string' },
984
+ },
985
+ },
83
986
  ],
84
987
  };
85
988
  export const containerClasses = 'n-w-full n-border-neutral-border-weak n-mx-2 n-rounded-lg n-border';