summaryrefslogtreecommitdiff
path: root/components/config.ts
blob: 0544b588a1bf73833b47082d2765c4c160f122e9 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
import { Easing } from '@tweenjs/tween.js'
const options: string[] = []
const algorithms: { [name: string]: (percent: number) => number } = {}
for (let type in Easing) {
  for (let mode in (Easing as any)[type]) {
    let name = type + mode
    if (name === 'LinearNone') {
      name = 'Linear'
    }
    options.push(name)
    algorithms[name] = (Easing as any)[type][mode]
  }
}

export const algos = algorithms

export const initialPhysics = {
  enabled: true,
  charge: -700,
  collision: true,
  collisionStrength: 20,
  centering: true,
  centeringStrength: 0.05,
  linkStrength: 0.1,
  linkIts: 1,
  alphaDecay: 0.02,
  alphaTarget: 0,
  alphaMin: 0,
  velocityDecay: 0.25,
  gravity: 0.3,
  gravityOn: true,
}

export const initialFilter = {
  orphans: false,
  parents: true,
  tags: [],
  nodes: [],
  links: [],
  date: [],
}

export const initialVisuals = {
  particles: false,
  particlesNumber: 0,
  particlesWidth: 4,
  arrows: false,
  arrowsLength: 1,
  arrowsPos: 0.5,
  arrowsColor: '',
  linkOpacity: 0.8,
  linkWidth: 1,
  nodeRel: 4,
  nodeOpacity: 1,
  nodeResolution: 12,
  labels: 2,
  labelScale: 1.5,
  highlight: true,
  highlightNodeSize: 2,
  highlightLinkSize: 2,
  highlightAnim: true,
  animationSpeed: 700,
  algorithmOptions: options,
  algorithmName: 'BackOut',
  linkColorScheme: 'gray.500',
  nodeColorScheme: [
    'red.500',
    'gray.600',
    'yellow.500',
    'green.500',
    'cyan.500',
    'blue.500',
    'pink.500',
    'purple.500',
    'orange.500',
  ],
  nodeHighlight: '',
  linkHighlight: 'purple.500',
  backgroundColor: 'white',
  emacsNodeColor: 'gray.800',
  labelTextColor: 'black',
  labelBackgroundColor: 'white',
  labelBackgroundOpacity: 0.7,
  citeDashes: true,
  citeDashLength: 35,
  citeGapLength: 15,
  citeLinkColor: 'gray.600',
  citeNodeColor: 'black',
}

export interface TagColors {
  [tag: string]: string
}

export const initialBehavior = {
  follow: 'zoom',
  localSame: 'add',
  zoomPadding: 200,
  zoomSpeed: 2000,
}

export const initialMouse = {
  highlight: 'hover',
  local: 'click',
  follow: 'double',
}