@krainovsd/graph 0.8.3 → 0.9.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/lib/esm/index.js CHANGED
@@ -2,12 +2,13 @@ export { GraphCanvas } from './module/GraphCanvas/GraphCanvas.js';
2
2
  export { linkOptionsGetter } from './module/GraphCanvas/lib/settings/link-settings-getter.js';
3
3
  export { nodeOptionsGetter, nodeRadiusGetter } from './module/GraphCanvas/lib/settings/node-settings-getter.js';
4
4
  export { linkIterationExtractor } from './module/GraphCanvas/lib/utils/link-iteration-extractor.js';
5
- import 'd3-array';
5
+ export { nodeByPointerGetter } from './module/GraphCanvas/lib/utils/node-by-pointer-getter.js';
6
6
  export { nodeIterationExtractor } from './module/GraphCanvas/lib/utils/node-iteration-extractor.js';
7
7
  export { drawText } from './module/GraphCanvas/lib/utils/draw-text.js';
8
8
  export { calculateLinkPositionByRadius } from './module/GraphCanvas/lib/utils/calculate-link-position-by-radius.js';
9
9
  export { animationByProgress } from './module/GraphCanvas/lib/utils/animation-by-progress.js';
10
10
  export { getParticlePosition } from './module/GraphCanvas/lib/utils/get-particle-position.js';
11
+ export { linkByPointerGetter } from './module/GraphCanvas/lib/utils/link-by-pointer-getter.js';
11
12
  export { colorToRgb } from './lib/color-to-rgb.js';
12
13
  export { extractRgb } from './lib/extract-rgb.js';
13
14
  export { fadeRgb } from './lib/fade-rgb.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
@@ -113,103 +113,214 @@ function getForceControls(keys) {
113
113
  function getGraphControls(keys) {
114
114
  const GRAPH_CONTROLS = [
115
115
  {
116
- id: "highlightSizingAdditional",
117
- initialValue: GRAPH_SETTINGS.highlightSizingAdditional,
116
+ id: "highlightByNodeNodeSizingAdditional",
117
+ initialValue: GRAPH_SETTINGS.highlightByNodeNodeSizingAdditional,
118
118
  max: 10,
119
119
  min: 0.1,
120
120
  step: 0.01,
121
121
  type: "range",
122
- label: "Дополнительный размер при анимации",
122
+ label: "Дополнительный размер при анимации ноды",
123
123
  },
124
124
  {
125
- id: "highlightColorFadingMin",
126
- initialValue: GRAPH_SETTINGS.highlightColorFadingMin,
125
+ id: "highlightByNodeNodeColorFadingMin",
126
+ initialValue: GRAPH_SETTINGS.highlightByNodeNodeColorFadingMin,
127
127
  max: 1,
128
128
  min: 0.01,
129
129
  step: 0.01,
130
130
  type: "range",
131
- label: "Граница затухания цвета",
131
+ label: "Граница затухания цвета при анимации ноды",
132
132
  },
133
133
  {
134
- id: "highlightTextShiftXAdditional",
135
- initialValue: GRAPH_SETTINGS.highlightTextShiftXAdditional,
134
+ id: "highlightByNodeTextShiftXAdditional",
135
+ initialValue: GRAPH_SETTINGS.highlightByNodeTextShiftXAdditional,
136
136
  max: 50,
137
137
  min: 0,
138
138
  step: 0.1,
139
139
  type: "range",
140
- label: "Смещение текста по X при анимации",
140
+ label: "Смещение текста по X при анимации ноды",
141
141
  },
142
142
  {
143
- id: "highlightTextShiftYAdditional",
144
- initialValue: GRAPH_SETTINGS.highlightTextShiftYAdditional,
143
+ id: "highlightByNodeTextShiftYAdditional",
144
+ initialValue: GRAPH_SETTINGS.highlightByNodeTextShiftYAdditional,
145
145
  max: 50,
146
146
  min: 0,
147
147
  step: 0.1,
148
148
  type: "range",
149
- label: "Смещение текста по Y при анимации",
149
+ label: "Смещение текста по Y при анимации ноды",
150
150
  },
151
151
  {
152
- id: "highlightTextSizingAdditional",
153
- initialValue: GRAPH_SETTINGS.highlightTextSizingAdditional,
152
+ id: "highlightByNodeTextSizingAdditional",
153
+ initialValue: GRAPH_SETTINGS.highlightByNodeTextSizingAdditional,
154
154
  max: 10,
155
155
  min: 0.1,
156
156
  step: 0.1,
157
157
  type: "range",
158
- label: "Увеличение текста при анимации",
158
+ label: "Увеличение текста при анимации ноды",
159
159
  },
160
160
  {
161
- id: "highlightTextWeightAdditional",
162
- initialValue: GRAPH_SETTINGS.highlightTextWeightAdditional,
161
+ id: "highlightByNodeTextWeightAdditional",
162
+ initialValue: GRAPH_SETTINGS.highlightByNodeTextWeightAdditional,
163
163
  max: 1000,
164
164
  min: 0,
165
165
  step: 100,
166
166
  type: "range",
167
- label: "Увеличение жирности текста при анимации",
167
+ label: "Увеличение жирности текста при анимации ноды",
168
168
  },
169
169
  {
170
- id: "highlightTextWidthAdditional",
171
- initialValue: GRAPH_SETTINGS.highlightTextWidthAdditional,
170
+ id: "highlightByNodeTextWidthAdditional",
171
+ initialValue: GRAPH_SETTINGS.highlightByNodeTextWidthAdditional,
172
172
  max: 100,
173
173
  min: 0,
174
174
  step: 0.1,
175
175
  type: "range",
176
- label: "Увеличение ширины текста при анимации",
176
+ label: "Увеличение ширины текста при анимации ноды",
177
177
  },
178
178
  {
179
- id: "highlightTextFadingMin",
180
- initialValue: GRAPH_SETTINGS.highlightTextFadingMin,
179
+ id: "highlightByNodeTextFadingMin",
180
+ initialValue: GRAPH_SETTINGS.highlightByNodeTextFadingMin,
181
181
  max: 1,
182
182
  min: 0,
183
183
  step: 0.01,
184
184
  type: "range",
185
- label: "Граница затухания текста при анимации",
185
+ label: "Граница затухания текста при анимации ноды",
186
186
  },
187
187
  {
188
- id: "highlightLinkFadingMin",
189
- initialValue: GRAPH_SETTINGS.highlightLinkFadingMin,
188
+ id: "highlightByNodeLinkFadingMin",
189
+ initialValue: GRAPH_SETTINGS.highlightByNodeLinkFadingMin,
190
190
  max: 1,
191
191
  min: 0,
192
192
  step: 0.01,
193
193
  type: "range",
194
- label: "Граница затухания связи при анимации",
194
+ label: "Граница затухания связи при анимации ноды",
195
195
  },
196
196
  {
197
- id: "highlightFadingMin",
198
- initialValue: GRAPH_SETTINGS.highlightFadingMin,
197
+ id: "highlightByNodeNodeFadingMin",
198
+ initialValue: GRAPH_SETTINGS.highlightByNodeNodeFadingMin,
199
199
  max: 1,
200
200
  min: 0,
201
201
  step: 0.01,
202
202
  type: "range",
203
- label: "Граница затухания ноды при анимации",
203
+ label: "Граница затухания ноды при анимации ноды",
204
204
  },
205
205
  {
206
- id: "highlightArrowFadingMin",
207
- initialValue: GRAPH_SETTINGS.highlightArrowFadingMin,
206
+ id: "highlightByNodeArrowFadingMin",
207
+ initialValue: GRAPH_SETTINGS.highlightByNodeArrowFadingMin,
208
208
  max: 1,
209
209
  min: 0,
210
210
  step: 0.01,
211
211
  type: "range",
212
- label: "Граница затухания стрелки при анимации",
212
+ label: "Граница затухания стрелки при анимации ноды",
213
+ },
214
+ {
215
+ id: "highlightByNodeOnlyRoot",
216
+ type: "checkbox",
217
+ initialValue: GRAPH_SETTINGS.highlightByNodeOnlyRoot,
218
+ label: "Дополнительная анимация только главное цели при анимации ноды",
219
+ },
220
+ {
221
+ id: "highlightByLinkNodeSizingAdditional",
222
+ initialValue: GRAPH_SETTINGS.highlightByLinkNodeSizingAdditional,
223
+ max: 10,
224
+ min: 0.1,
225
+ step: 0.01,
226
+ type: "range",
227
+ label: "Дополнительный размер при анимации связи",
228
+ },
229
+ {
230
+ id: "highlightByLinkNodeColorFadingMin",
231
+ initialValue: GRAPH_SETTINGS.highlightByLinkNodeColorFadingMin,
232
+ max: 1,
233
+ min: 0.01,
234
+ step: 0.01,
235
+ type: "range",
236
+ label: "Граница затухания цвета при анимации связи",
237
+ },
238
+ {
239
+ id: "highlightByLinkTextShiftXAdditional",
240
+ initialValue: GRAPH_SETTINGS.highlightByLinkTextShiftXAdditional,
241
+ max: 50,
242
+ min: 0,
243
+ step: 0.1,
244
+ type: "range",
245
+ label: "Смещение текста по X при анимации связи",
246
+ },
247
+ {
248
+ id: "highlightByLinkTextShiftYAdditional",
249
+ initialValue: GRAPH_SETTINGS.highlightByLinkTextShiftYAdditional,
250
+ max: 50,
251
+ min: 0,
252
+ step: 0.1,
253
+ type: "range",
254
+ label: "Смещение текста по Y при анимации связи",
255
+ },
256
+ {
257
+ id: "highlightByLinkTextSizingAdditional",
258
+ initialValue: GRAPH_SETTINGS.highlightByLinkTextSizingAdditional,
259
+ max: 10,
260
+ min: 0.1,
261
+ step: 0.1,
262
+ type: "range",
263
+ label: "Увеличение текста при анимации связи",
264
+ },
265
+ {
266
+ id: "highlightByLinkTextWeightAdditional",
267
+ initialValue: GRAPH_SETTINGS.highlightByLinkTextWeightAdditional,
268
+ max: 1000,
269
+ min: 0,
270
+ step: 100,
271
+ type: "range",
272
+ label: "Увеличение жирности текста при анимации связи",
273
+ },
274
+ {
275
+ id: "highlightByLinkTextWidthAdditional",
276
+ initialValue: GRAPH_SETTINGS.highlightByLinkTextWidthAdditional,
277
+ max: 100,
278
+ min: 0,
279
+ step: 0.1,
280
+ type: "range",
281
+ label: "Увеличение ширины текста при анимации связи",
282
+ },
283
+ {
284
+ id: "highlightByLinkTextFadingMin",
285
+ initialValue: GRAPH_SETTINGS.highlightByLinkTextFadingMin,
286
+ max: 1,
287
+ min: 0,
288
+ step: 0.01,
289
+ type: "range",
290
+ label: "Граница затухания текста при анимации связи",
291
+ },
292
+ {
293
+ id: "highlightByLinkLinkFadingMin",
294
+ initialValue: GRAPH_SETTINGS.highlightByLinkLinkFadingMin,
295
+ max: 1,
296
+ min: 0,
297
+ step: 0.01,
298
+ type: "range",
299
+ label: "Граница затухания связи при анимации связи",
300
+ },
301
+ {
302
+ id: "highlightByLinkNodeFadingMin",
303
+ initialValue: GRAPH_SETTINGS.highlightByLinkNodeFadingMin,
304
+ max: 1,
305
+ min: 0,
306
+ step: 0.01,
307
+ type: "range",
308
+ label: "Граница затухания ноды при анимации связи",
309
+ },
310
+ {
311
+ id: "highlightByLinkArrowFadingMin",
312
+ initialValue: GRAPH_SETTINGS.highlightByLinkArrowFadingMin,
313
+ max: 1,
314
+ min: 0,
315
+ step: 0.01,
316
+ type: "range",
317
+ label: "Граница затухания стрелки при анимации связи",
318
+ },
319
+ {
320
+ id: "highlightByLinkOnlyRoot",
321
+ type: "checkbox",
322
+ initialValue: GRAPH_SETTINGS.highlightByLinkOnlyRoot,
323
+ label: "Дополнительная анимация только главное цели при анимации связи",
213
324
  },
214
325
  {
215
326
  id: "highlightDownStep",
@@ -256,12 +367,6 @@ function getGraphControls(keys) {
256
367
  type: "range",
257
368
  label: "Коэффициент увеличения радиуса",
258
369
  },
259
- {
260
- id: "highlightOnlyRoot",
261
- type: "checkbox",
262
- initialValue: GRAPH_SETTINGS.highlightOnlyRoot,
263
- label: "Дополнительная анимация только главное цели",
264
- },
265
370
  {
266
371
  id: "stickAfterDrag",
267
372
  type: "checkbox",
@@ -269,9 +374,9 @@ function getGraphControls(keys) {
269
374
  label: "Фиксировании ноды после перетаскивания",
270
375
  },
271
376
  {
272
- id: "highlightByHover",
377
+ id: "highlightByHoverNode",
273
378
  type: "checkbox",
274
- initialValue: GRAPH_SETTINGS.highlightByHover,
379
+ initialValue: GRAPH_SETTINGS.highlightByHoverNode,
275
380
  label: "Анимации при наведении",
276
381
  },
277
382
  {
@@ -379,34 +484,64 @@ function getNodeControls(keys) {
379
484
  initialValue: NODE_OPTIONS.textGap,
380
485
  },
381
486
  {
382
- id: "highlightFading",
487
+ id: "highlightByNodeNodeFading",
383
488
  type: "checkbox",
384
- initialValue: NODE_OPTIONS.highlightFading,
385
- label: "Анимация затухания",
489
+ initialValue: NODE_OPTIONS.highlightByNodeNodeFading,
490
+ label: "Затухание при анимации ноды",
386
491
  },
387
492
  {
388
- id: "highlightColor",
493
+ id: "highlightByNodeNodeColor",
389
494
  type: "checkbox",
390
- initialValue: NODE_OPTIONS.highlightColor,
391
- label: "Анимация затухания цвета",
495
+ initialValue: NODE_OPTIONS.highlightByNodeNodeColor,
496
+ label: "Затухание цвета при анимации ноды",
392
497
  },
393
498
  {
394
- id: "highlightSizing",
499
+ id: "highlightByNodeNodeSizing",
395
500
  type: "checkbox",
396
- initialValue: NODE_OPTIONS.highlightSizing,
397
- label: "Анимация размера",
501
+ initialValue: NODE_OPTIONS.highlightByNodeNodeSizing,
502
+ label: "Изменение размера при анимации ноды",
398
503
  },
399
504
  {
400
- id: "highlightTextFading",
505
+ id: "highlightByNodeTextFading",
401
506
  type: "checkbox",
402
- initialValue: NODE_OPTIONS.highlightTextFading,
403
- label: "Анимация затухания текста",
507
+ initialValue: NODE_OPTIONS.highlightByNodeTextFading,
508
+ label: "Затухание текста при анимации ноды",
404
509
  },
405
510
  {
406
- id: "highlightTextSizing",
511
+ id: "highlightByNodeTextSizing",
407
512
  type: "checkbox",
408
- initialValue: NODE_OPTIONS.highlightTextSizing,
409
- label: "Анимация размера текста",
513
+ initialValue: NODE_OPTIONS.highlightByNodeTextSizing,
514
+ label: "Изменение размера текста при анимации ноды",
515
+ },
516
+ {
517
+ id: "highlightByLinkNodeFading",
518
+ type: "checkbox",
519
+ initialValue: NODE_OPTIONS.highlightByLinkNodeFading,
520
+ label: "Затухание при анимации связи",
521
+ },
522
+ {
523
+ id: "highlightByLinkNodeColor",
524
+ type: "checkbox",
525
+ initialValue: NODE_OPTIONS.highlightByLinkNodeColor,
526
+ label: "Затухание цвета при анимации связи",
527
+ },
528
+ {
529
+ id: "highlightByLinkNodeSizing",
530
+ type: "checkbox",
531
+ initialValue: NODE_OPTIONS.highlightByLinkNodeSizing,
532
+ label: "Изменение размера при анимации связи",
533
+ },
534
+ {
535
+ id: "highlightByLinkTextFading",
536
+ type: "checkbox",
537
+ initialValue: NODE_OPTIONS.highlightByLinkTextFading,
538
+ label: "Затухание текста при анимации связи",
539
+ },
540
+ {
541
+ id: "highlightByLinkTextSizing",
542
+ type: "checkbox",
543
+ initialValue: NODE_OPTIONS.highlightByLinkTextSizing,
544
+ label: "Изменение размера текста при анимации связи",
410
545
  },
411
546
  ];
412
547
  return keys ? NODE_CONTROLS.filter((control) => keys.includes(control.id)) : NODE_CONTROLS;
@@ -503,12 +638,6 @@ function getLinkControls(keys) {
503
638
  initialValue: "#000000FF",
504
639
  label: "Цвет частиц",
505
640
  },
506
- {
507
- id: "highlightFading",
508
- type: "checkbox",
509
- label: "Анимация Затухания",
510
- initialValue: LINK_OPTIONS.highlightFading,
511
- },
512
641
  {
513
642
  id: "pretty",
514
643
  type: "checkbox",
@@ -522,10 +651,28 @@ function getLinkControls(keys) {
522
651
  initialValue: LINK_OPTIONS.arrow,
523
652
  },
524
653
  {
525
- id: "arrowHighlightFading",
654
+ id: "highlightByNodeLinkFading",
655
+ type: "checkbox",
656
+ label: "Затухание при анимации ноды",
657
+ initialValue: LINK_OPTIONS.highlightByNodeLinkFading,
658
+ },
659
+ {
660
+ id: "highlightByNodeArrowFading",
661
+ type: "checkbox",
662
+ label: "Затухание стрелки при анимации ноды",
663
+ initialValue: LINK_OPTIONS.highlightByNodeArrowFading,
664
+ },
665
+ {
666
+ id: "highlightByLinkLinkFading",
667
+ type: "checkbox",
668
+ label: "Затухание при анимации связи",
669
+ initialValue: LINK_OPTIONS.highlightByLinkLinkFading,
670
+ },
671
+ {
672
+ id: "highlightByLinkArrowFading",
526
673
  type: "checkbox",
527
- label: "Анимация затухания стрелки",
528
- initialValue: LINK_OPTIONS.arrowHighlightFading,
674
+ label: "Затухание стрелки при анимации связи",
675
+ initialValue: LINK_OPTIONS.highlightByLinkArrowFading,
529
676
  },
530
677
  {
531
678
  id: "arrowReverseAppear",
@@ -1 +1 @@
1
- {"version":3,"file":"get-controls-info.js","sources":["../../../src/lib/get-controls-info.ts"],"sourcesContent":["import {\n FORCE_SETTINGS,\n GRAPH_SETTINGS,\n LINK_OPTIONS,\n NODE_OPTIONS,\n} from \"@/module/GraphCanvas/constants\";\nimport type {\n ForceSettingsInterface,\n GraphSettingsInterface,\n LinkOptionsInterface,\n NodeOptionsInterface,\n} from \"../module/GraphCanvas\";\nimport type { GraphSettingsInputInterface } from \"../types/controls\";\n\nexport function getForceControls<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n>(keys?: (keyof ForceSettingsInterface<NodeData, LinkData>)[]) {\n const FORCE_CONTROLS: GraphSettingsInputInterface<\n keyof ForceSettingsInterface<NodeData, LinkData>\n >[] = [\n {\n id: \"centerStrength\",\n initialValue: FORCE_SETTINGS.centerStrength,\n label: \"Граница центра\",\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n },\n {\n id: \"collideStrength\",\n initialValue: FORCE_SETTINGS.collideStrength,\n label: \"Сила отталкивания\",\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n },\n {\n id: \"collideAdditionalRadius\",\n initialValue: FORCE_SETTINGS.collideAdditionalRadius,\n label: \"Радиус отталкивания\",\n max: 300,\n min: 0,\n step: 0.1,\n type: \"range\",\n },\n {\n id: \"collideIterations\",\n initialValue: FORCE_SETTINGS.collideIterations,\n label: \"Итерации отталкивания\",\n max: 10,\n min: 0,\n step: 1,\n type: \"range\",\n },\n {\n id: \"chargeStrength\",\n initialValue:\n typeof FORCE_SETTINGS.chargeStrength === \"number\" ? FORCE_SETTINGS.chargeStrength : 0,\n label: \"Гравитация\",\n max: 0,\n min: -300,\n step: 0.1,\n type: \"range\",\n },\n {\n type: \"range\",\n id: \"xForce\",\n min: 0,\n max: 1,\n step: 0.01,\n label: \"Граница X\",\n initialValue: typeof FORCE_SETTINGS.xForce === \"number\" ? FORCE_SETTINGS.xForce : 0,\n },\n {\n type: \"range\",\n id: \"yForce\",\n min: 0,\n max: 1,\n step: 0.01,\n label: \"Граница Y\",\n initialValue: typeof FORCE_SETTINGS.yForce === \"number\" ? FORCE_SETTINGS.yForce : 0,\n },\n {\n type: \"range\",\n id: \"xStrength\",\n min: 0,\n max: 1,\n step: 0.01,\n label: \"Гравитация X\",\n initialValue: typeof FORCE_SETTINGS.xStrength === \"number\" ? FORCE_SETTINGS.xStrength : 0,\n },\n {\n type: \"range\",\n id: \"yStrength\",\n min: 0,\n max: 1,\n step: 0.01,\n label: \"Гравитация Y\",\n initialValue: typeof FORCE_SETTINGS.yStrength === \"number\" ? FORCE_SETTINGS.yStrength : 0,\n },\n {\n type: \"range\",\n id: \"linkStrength\",\n min: 0,\n max: 1,\n step: 0.01,\n label: \"Натяжение связей\",\n initialValue:\n typeof FORCE_SETTINGS.linkStrength === \"number\" ? FORCE_SETTINGS.linkStrength : 0,\n },\n {\n type: \"range\",\n id: \"linkDistance\",\n min: 0,\n max: 300,\n step: 0.1,\n label: \"Расстояние связей\",\n initialValue:\n typeof FORCE_SETTINGS.linkDistance === \"number\" ? FORCE_SETTINGS.linkDistance : 30,\n },\n {\n id: \"collideOn\",\n type: \"checkbox\",\n initialValue: FORCE_SETTINGS.collideOn,\n label: \"Отталкивание\",\n },\n ];\n\n return keys ? FORCE_CONTROLS.filter((control) => keys.includes(control.id)) : FORCE_CONTROLS;\n}\n\nexport function getGraphControls<NodeData extends Record<string, unknown>>(\n keys?: (keyof GraphSettingsInterface<NodeData>)[],\n) {\n const GRAPH_CONTROLS: GraphSettingsInputInterface<keyof GraphSettingsInterface<NodeData>>[] = [\n {\n id: \"highlightSizingAdditional\",\n initialValue: GRAPH_SETTINGS.highlightSizingAdditional,\n max: 10,\n min: 0.1,\n step: 0.01,\n type: \"range\",\n label: \"Дополнительный размер при анимации\",\n },\n {\n id: \"highlightColorFadingMin\",\n initialValue: GRAPH_SETTINGS.highlightColorFadingMin,\n max: 1,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Граница затухания цвета\",\n },\n {\n id: \"highlightTextShiftXAdditional\",\n initialValue: GRAPH_SETTINGS.highlightTextShiftXAdditional,\n max: 50,\n min: 0,\n step: 0.1,\n type: \"range\",\n label: \"Смещение текста по X при анимации\",\n },\n {\n id: \"highlightTextShiftYAdditional\",\n initialValue: GRAPH_SETTINGS.highlightTextShiftYAdditional,\n max: 50,\n min: 0,\n step: 0.1,\n type: \"range\",\n label: \"Смещение текста по Y при анимации\",\n },\n {\n id: \"highlightTextSizingAdditional\",\n initialValue: GRAPH_SETTINGS.highlightTextSizingAdditional,\n max: 10,\n min: 0.1,\n step: 0.1,\n type: \"range\",\n label: \"Увеличение текста при анимации\",\n },\n {\n id: \"highlightTextWeightAdditional\",\n initialValue: GRAPH_SETTINGS.highlightTextWeightAdditional,\n max: 1000,\n min: 0,\n step: 100,\n type: \"range\",\n label: \"Увеличение жирности текста при анимации\",\n },\n {\n id: \"highlightTextWidthAdditional\",\n initialValue: GRAPH_SETTINGS.highlightTextWidthAdditional,\n max: 100,\n min: 0,\n step: 0.1,\n type: \"range\",\n label: \"Увеличение ширины текста при анимации\",\n },\n {\n id: \"highlightTextFadingMin\",\n initialValue: GRAPH_SETTINGS.highlightTextFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница затухания текста при анимации\",\n },\n {\n id: \"highlightLinkFadingMin\",\n initialValue: GRAPH_SETTINGS.highlightLinkFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница затухания связи при анимации\",\n },\n {\n id: \"highlightFadingMin\",\n initialValue: GRAPH_SETTINGS.highlightFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница затухания ноды при анимации\",\n },\n {\n id: \"highlightArrowFadingMin\",\n initialValue: GRAPH_SETTINGS.highlightArrowFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница затухания стрелки при анимации\",\n },\n {\n id: \"highlightDownStep\",\n initialValue: GRAPH_SETTINGS.highlightDownStep,\n max: 1,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Скорость отмены анимации\",\n },\n {\n id: \"highlightUpStep\",\n initialValue: GRAPH_SETTINGS.highlightUpStep,\n max: 1,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Скорость применения анимации\",\n },\n {\n id: \"nodeRadiusInitial\",\n initialValue: GRAPH_SETTINGS.nodeRadiusInitial,\n max: 50,\n min: 0.1,\n step: 0.1,\n type: \"range\",\n label: \"Изначальный радиус ноды\",\n },\n {\n id: \"nodeRadiusCoefficient\",\n initialValue: GRAPH_SETTINGS.nodeRadiusCoefficient,\n max: 100,\n min: 0.1,\n step: 0.1,\n type: \"range\",\n label: \"Количество связей для увеличения радиуса\",\n },\n {\n id: \"nodeRadiusFactor\",\n initialValue: GRAPH_SETTINGS.nodeRadiusFactor,\n max: 50,\n min: 0.1,\n step: 0.1,\n type: \"range\",\n label: \"Коэффициент увеличения радиуса\",\n },\n {\n id: \"highlightOnlyRoot\",\n type: \"checkbox\",\n initialValue: GRAPH_SETTINGS.highlightOnlyRoot,\n label: \"Дополнительная анимация только главное цели\",\n },\n {\n id: \"stickAfterDrag\",\n type: \"checkbox\",\n initialValue: GRAPH_SETTINGS.stickAfterDrag,\n label: \"Фиксировании ноды после перетаскивания\",\n },\n {\n id: \"highlightByHover\",\n type: \"checkbox\",\n initialValue: GRAPH_SETTINGS.highlightByHover,\n label: \"Анимации при наведении\",\n },\n {\n id: \"nodeRadiusFlexible\",\n type: \"checkbox\",\n initialValue: GRAPH_SETTINGS.nodeRadiusFlexible,\n label: \"Гибкий радиус ноды\",\n },\n ];\n\n return keys ? GRAPH_CONTROLS.filter((control) => keys.includes(control.id)) : GRAPH_CONTROLS;\n}\n\nexport function getNodeControls<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n>(keys?: (keyof NodeOptionsInterface<NodeData, LinkData>)[]) {\n const NODE_CONTROLS: GraphSettingsInputInterface<\n keyof NodeOptionsInterface<NodeData, LinkData>\n >[] = [\n {\n id: \"alpha\",\n type: \"range\",\n max: 1,\n min: 0,\n step: 0.1,\n label: \"Прозрачность\",\n initialValue: NODE_OPTIONS.alpha,\n },\n\n {\n id: \"radius\",\n type: \"range\",\n max: 50,\n min: 1,\n step: 1,\n label: \"Радиус\",\n initialValue: NODE_OPTIONS.radius,\n },\n {\n id: \"borderWidth\",\n type: \"range\",\n max: 5,\n min: 0,\n step: 0.1,\n label: \"Толщина границы\",\n initialValue: NODE_OPTIONS.borderWidth,\n },\n {\n id: \"borderColor\",\n type: \"color\",\n initialValue: \"#000000FF\",\n label: \"Цвет границы\",\n },\n {\n id: \"color\",\n type: \"color\",\n initialValue: \"#000000FF\",\n label: \"Цвет\",\n },\n {\n id: \"textAlpha\",\n type: \"range\",\n max: 1,\n min: 0,\n step: 0.1,\n label: \"Прозрачность текста\",\n initialValue: NODE_OPTIONS.textAlpha,\n },\n {\n id: \"textWidth\",\n type: \"range\",\n max: 200,\n min: 5,\n step: 1,\n label: \"Ширина текста\",\n initialValue: NODE_OPTIONS.textWidth,\n },\n {\n id: \"textShiftX\",\n type: \"range\",\n max: 100,\n min: 0,\n step: 0.1,\n label: \"Смещение X текста\",\n initialValue: NODE_OPTIONS.textShiftX,\n },\n {\n id: \"textShiftY\",\n type: \"range\",\n max: 100,\n min: 0,\n step: 0.1,\n label: \"Смещение Y текста\",\n initialValue: 4,\n },\n {\n id: \"textWeight\",\n type: \"range\",\n max: 1000,\n min: 100,\n step: 100,\n label: \"Жирность текста\",\n initialValue: NODE_OPTIONS.textWeight,\n },\n {\n id: \"textGap\",\n type: \"range\",\n max: 30,\n min: 0,\n step: 0.1,\n label: \"Расстояние между строками\",\n initialValue: NODE_OPTIONS.textGap,\n },\n {\n id: \"highlightFading\",\n type: \"checkbox\",\n initialValue: NODE_OPTIONS.highlightFading,\n label: \"Анимация затухания\",\n },\n {\n id: \"highlightColor\",\n type: \"checkbox\",\n initialValue: NODE_OPTIONS.highlightColor,\n label: \"Анимация затухания цвета\",\n },\n {\n id: \"highlightSizing\",\n type: \"checkbox\",\n initialValue: NODE_OPTIONS.highlightSizing,\n label: \"Анимация размера\",\n },\n {\n id: \"highlightTextFading\",\n type: \"checkbox\",\n initialValue: NODE_OPTIONS.highlightTextFading,\n label: \"Анимация затухания текста\",\n },\n {\n id: \"highlightTextSizing\",\n type: \"checkbox\",\n initialValue: NODE_OPTIONS.highlightTextSizing,\n label: \"Анимация размера текста\",\n },\n ];\n\n return keys ? NODE_CONTROLS.filter((control) => keys.includes(control.id)) : NODE_CONTROLS;\n}\n\nexport function getLinkControls<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n>(keys?: (keyof LinkOptionsInterface<NodeData, LinkData>)[]) {\n const LINK_CONTROLS: GraphSettingsInputInterface<\n keyof LinkOptionsInterface<NodeData, LinkData>\n >[] = [\n {\n id: \"alpha\",\n type: \"range\",\n max: 1,\n min: 0,\n step: 0.1,\n label: \"Прозрачность\",\n initialValue: LINK_OPTIONS.alpha,\n },\n {\n id: \"width\",\n type: \"range\",\n max: 10,\n min: 0.1,\n step: 0.1,\n label: \"Толщина\",\n initialValue: 0.1,\n },\n {\n id: \"arrowAlpha\",\n type: \"range\",\n max: 1,\n min: 0,\n step: 0.1,\n label: \"Прозрачность стрелки\",\n initialValue: LINK_OPTIONS.arrowAlpha,\n },\n {\n id: \"arrowSize\",\n type: \"range\",\n max: 10,\n min: 0.1,\n step: 0.1,\n label: \"Размер стрелки\",\n initialValue: LINK_OPTIONS.arrowSize,\n },\n {\n id: \"particleAlpha\",\n type: \"range\",\n max: 1,\n min: 0,\n step: 0.1,\n label: \"Прозрачность частиц\",\n initialValue: LINK_OPTIONS.particleAlpha,\n },\n {\n id: \"particleRadius\",\n type: \"range\",\n max: 10,\n min: 0.1,\n step: 0.1,\n label: \"Радиус частиц\",\n initialValue: LINK_OPTIONS.particleRadius,\n },\n {\n id: \"particleCount\",\n type: \"range\",\n max: 20,\n min: 1,\n step: 1,\n label: \"Количество частиц\",\n initialValue: LINK_OPTIONS.particleCount,\n },\n {\n id: \"particleSteps\",\n type: \"range\",\n max: 200,\n min: 1,\n step: 1,\n label: \"Количество кадров у частиц\",\n initialValue: LINK_OPTIONS.particleSteps,\n },\n {\n id: \"color\",\n type: \"color\",\n initialValue: \"#000000FF\",\n label: \"Цвет\",\n },\n {\n id: \"arrowColor\",\n type: \"color\",\n initialValue: \"#000000FF\",\n label: \"Цвет стрелки\",\n },\n {\n id: \"particleColor\",\n type: \"color\",\n initialValue: \"#000000FF\",\n label: \"Цвет частиц\",\n },\n {\n id: \"highlightFading\",\n type: \"checkbox\",\n label: \"Анимация Затухания\",\n initialValue: LINK_OPTIONS.highlightFading,\n },\n {\n id: \"pretty\",\n type: \"checkbox\",\n label: \"Обсчет соединения\",\n initialValue: LINK_OPTIONS.pretty,\n },\n {\n id: \"arrow\",\n type: \"checkbox\",\n label: \"Стрелка\",\n initialValue: LINK_OPTIONS.arrow,\n },\n {\n id: \"arrowHighlightFading\",\n type: \"checkbox\",\n label: \"Анимация затухания стрелки\",\n initialValue: LINK_OPTIONS.arrowHighlightFading,\n },\n {\n id: \"arrowReverseAppear\",\n type: \"checkbox\",\n label: \"Появление стрелки при анимации\",\n initialValue: LINK_OPTIONS.arrowReverseAppear,\n },\n ];\n\n return keys ? LINK_CONTROLS.filter((control) => keys.includes(control.id)) : LINK_CONTROLS;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-controls-info.js","sources":["../../../src/lib/get-controls-info.ts"],"sourcesContent":["import {\n FORCE_SETTINGS,\n GRAPH_SETTINGS,\n LINK_OPTIONS,\n NODE_OPTIONS,\n} from \"@/module/GraphCanvas/constants\";\nimport type {\n ForceSettingsInterface,\n GraphSettingsInterface,\n LinkOptionsInterface,\n NodeOptionsInterface,\n} from \"../module/GraphCanvas\";\nimport type { GraphSettingsInputInterface } from \"../types/controls\";\n\nexport function getForceControls<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n>(keys?: (keyof ForceSettingsInterface<NodeData, LinkData>)[]) {\n const FORCE_CONTROLS: GraphSettingsInputInterface<\n keyof ForceSettingsInterface<NodeData, LinkData>\n >[] = [\n {\n id: \"centerStrength\",\n initialValue: FORCE_SETTINGS.centerStrength,\n label: \"Граница центра\",\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n },\n {\n id: \"collideStrength\",\n initialValue: FORCE_SETTINGS.collideStrength,\n label: \"Сила отталкивания\",\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n },\n {\n id: \"collideAdditionalRadius\",\n initialValue: FORCE_SETTINGS.collideAdditionalRadius,\n label: \"Радиус отталкивания\",\n max: 300,\n min: 0,\n step: 0.1,\n type: \"range\",\n },\n {\n id: \"collideIterations\",\n initialValue: FORCE_SETTINGS.collideIterations,\n label: \"Итерации отталкивания\",\n max: 10,\n min: 0,\n step: 1,\n type: \"range\",\n },\n {\n id: \"chargeStrength\",\n initialValue:\n typeof FORCE_SETTINGS.chargeStrength === \"number\" ? FORCE_SETTINGS.chargeStrength : 0,\n label: \"Гравитация\",\n max: 0,\n min: -300,\n step: 0.1,\n type: \"range\",\n },\n {\n type: \"range\",\n id: \"xForce\",\n min: 0,\n max: 1,\n step: 0.01,\n label: \"Граница X\",\n initialValue: typeof FORCE_SETTINGS.xForce === \"number\" ? FORCE_SETTINGS.xForce : 0,\n },\n {\n type: \"range\",\n id: \"yForce\",\n min: 0,\n max: 1,\n step: 0.01,\n label: \"Граница Y\",\n initialValue: typeof FORCE_SETTINGS.yForce === \"number\" ? FORCE_SETTINGS.yForce : 0,\n },\n {\n type: \"range\",\n id: \"xStrength\",\n min: 0,\n max: 1,\n step: 0.01,\n label: \"Гравитация X\",\n initialValue: typeof FORCE_SETTINGS.xStrength === \"number\" ? FORCE_SETTINGS.xStrength : 0,\n },\n {\n type: \"range\",\n id: \"yStrength\",\n min: 0,\n max: 1,\n step: 0.01,\n label: \"Гравитация Y\",\n initialValue: typeof FORCE_SETTINGS.yStrength === \"number\" ? FORCE_SETTINGS.yStrength : 0,\n },\n {\n type: \"range\",\n id: \"linkStrength\",\n min: 0,\n max: 1,\n step: 0.01,\n label: \"Натяжение связей\",\n initialValue:\n typeof FORCE_SETTINGS.linkStrength === \"number\" ? FORCE_SETTINGS.linkStrength : 0,\n },\n {\n type: \"range\",\n id: \"linkDistance\",\n min: 0,\n max: 300,\n step: 0.1,\n label: \"Расстояние связей\",\n initialValue:\n typeof FORCE_SETTINGS.linkDistance === \"number\" ? FORCE_SETTINGS.linkDistance : 30,\n },\n {\n id: \"collideOn\",\n type: \"checkbox\",\n initialValue: FORCE_SETTINGS.collideOn,\n label: \"Отталкивание\",\n },\n ];\n\n return keys ? FORCE_CONTROLS.filter((control) => keys.includes(control.id)) : FORCE_CONTROLS;\n}\n\nexport function getGraphControls<NodeData extends Record<string, unknown>>(\n keys?: (keyof GraphSettingsInterface<NodeData>)[],\n) {\n const GRAPH_CONTROLS: GraphSettingsInputInterface<keyof GraphSettingsInterface<NodeData>>[] = [\n {\n id: \"highlightByNodeNodeSizingAdditional\",\n initialValue: GRAPH_SETTINGS.highlightByNodeNodeSizingAdditional,\n max: 10,\n min: 0.1,\n step: 0.01,\n type: \"range\",\n label: \"Дополнительный размер при анимации ноды\",\n },\n {\n id: \"highlightByNodeNodeColorFadingMin\",\n initialValue: GRAPH_SETTINGS.highlightByNodeNodeColorFadingMin,\n max: 1,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Граница затухания цвета при анимации ноды\",\n },\n {\n id: \"highlightByNodeTextShiftXAdditional\",\n initialValue: GRAPH_SETTINGS.highlightByNodeTextShiftXAdditional,\n max: 50,\n min: 0,\n step: 0.1,\n type: \"range\",\n label: \"Смещение текста по X при анимации ноды\",\n },\n {\n id: \"highlightByNodeTextShiftYAdditional\",\n initialValue: GRAPH_SETTINGS.highlightByNodeTextShiftYAdditional,\n max: 50,\n min: 0,\n step: 0.1,\n type: \"range\",\n label: \"Смещение текста по Y при анимации ноды\",\n },\n {\n id: \"highlightByNodeTextSizingAdditional\",\n initialValue: GRAPH_SETTINGS.highlightByNodeTextSizingAdditional,\n max: 10,\n min: 0.1,\n step: 0.1,\n type: \"range\",\n label: \"Увеличение текста при анимации ноды\",\n },\n {\n id: \"highlightByNodeTextWeightAdditional\",\n initialValue: GRAPH_SETTINGS.highlightByNodeTextWeightAdditional,\n max: 1000,\n min: 0,\n step: 100,\n type: \"range\",\n label: \"Увеличение жирности текста при анимации ноды\",\n },\n {\n id: \"highlightByNodeTextWidthAdditional\",\n initialValue: GRAPH_SETTINGS.highlightByNodeTextWidthAdditional,\n max: 100,\n min: 0,\n step: 0.1,\n type: \"range\",\n label: \"Увеличение ширины текста при анимации ноды\",\n },\n {\n id: \"highlightByNodeTextFadingMin\",\n initialValue: GRAPH_SETTINGS.highlightByNodeTextFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница затухания текста при анимации ноды\",\n },\n {\n id: \"highlightByNodeLinkFadingMin\",\n initialValue: GRAPH_SETTINGS.highlightByNodeLinkFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница затухания связи при анимации ноды\",\n },\n {\n id: \"highlightByNodeNodeFadingMin\",\n initialValue: GRAPH_SETTINGS.highlightByNodeNodeFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница затухания ноды при анимации ноды\",\n },\n {\n id: \"highlightByNodeArrowFadingMin\",\n initialValue: GRAPH_SETTINGS.highlightByNodeArrowFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница затухания стрелки при анимации ноды\",\n },\n {\n id: \"highlightByNodeOnlyRoot\",\n type: \"checkbox\",\n initialValue: GRAPH_SETTINGS.highlightByNodeOnlyRoot,\n label: \"Дополнительная анимация только главное цели при анимации ноды\",\n },\n\n {\n id: \"highlightByLinkNodeSizingAdditional\",\n initialValue: GRAPH_SETTINGS.highlightByLinkNodeSizingAdditional,\n max: 10,\n min: 0.1,\n step: 0.01,\n type: \"range\",\n label: \"Дополнительный размер при анимации связи\",\n },\n {\n id: \"highlightByLinkNodeColorFadingMin\",\n initialValue: GRAPH_SETTINGS.highlightByLinkNodeColorFadingMin,\n max: 1,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Граница затухания цвета при анимации связи\",\n },\n {\n id: \"highlightByLinkTextShiftXAdditional\",\n initialValue: GRAPH_SETTINGS.highlightByLinkTextShiftXAdditional,\n max: 50,\n min: 0,\n step: 0.1,\n type: \"range\",\n label: \"Смещение текста по X при анимации связи\",\n },\n {\n id: \"highlightByLinkTextShiftYAdditional\",\n initialValue: GRAPH_SETTINGS.highlightByLinkTextShiftYAdditional,\n max: 50,\n min: 0,\n step: 0.1,\n type: \"range\",\n label: \"Смещение текста по Y при анимации связи\",\n },\n {\n id: \"highlightByLinkTextSizingAdditional\",\n initialValue: GRAPH_SETTINGS.highlightByLinkTextSizingAdditional,\n max: 10,\n min: 0.1,\n step: 0.1,\n type: \"range\",\n label: \"Увеличение текста при анимации связи\",\n },\n {\n id: \"highlightByLinkTextWeightAdditional\",\n initialValue: GRAPH_SETTINGS.highlightByLinkTextWeightAdditional,\n max: 1000,\n min: 0,\n step: 100,\n type: \"range\",\n label: \"Увеличение жирности текста при анимации связи\",\n },\n {\n id: \"highlightByLinkTextWidthAdditional\",\n initialValue: GRAPH_SETTINGS.highlightByLinkTextWidthAdditional,\n max: 100,\n min: 0,\n step: 0.1,\n type: \"range\",\n label: \"Увеличение ширины текста при анимации связи\",\n },\n {\n id: \"highlightByLinkTextFadingMin\",\n initialValue: GRAPH_SETTINGS.highlightByLinkTextFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница затухания текста при анимации связи\",\n },\n {\n id: \"highlightByLinkLinkFadingMin\",\n initialValue: GRAPH_SETTINGS.highlightByLinkLinkFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница затухания связи при анимации связи\",\n },\n {\n id: \"highlightByLinkNodeFadingMin\",\n initialValue: GRAPH_SETTINGS.highlightByLinkNodeFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница затухания ноды при анимации связи\",\n },\n {\n id: \"highlightByLinkArrowFadingMin\",\n initialValue: GRAPH_SETTINGS.highlightByLinkArrowFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница затухания стрелки при анимации связи\",\n },\n {\n id: \"highlightByLinkOnlyRoot\",\n type: \"checkbox\",\n initialValue: GRAPH_SETTINGS.highlightByLinkOnlyRoot,\n label: \"Дополнительная анимация только главное цели при анимации связи\",\n },\n {\n id: \"highlightDownStep\",\n initialValue: GRAPH_SETTINGS.highlightDownStep,\n max: 1,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Скорость отмены анимации\",\n },\n {\n id: \"highlightUpStep\",\n initialValue: GRAPH_SETTINGS.highlightUpStep,\n max: 1,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Скорость применения анимации\",\n },\n {\n id: \"nodeRadiusInitial\",\n initialValue: GRAPH_SETTINGS.nodeRadiusInitial,\n max: 50,\n min: 0.1,\n step: 0.1,\n type: \"range\",\n label: \"Изначальный радиус ноды\",\n },\n {\n id: \"nodeRadiusCoefficient\",\n initialValue: GRAPH_SETTINGS.nodeRadiusCoefficient,\n max: 100,\n min: 0.1,\n step: 0.1,\n type: \"range\",\n label: \"Количество связей для увеличения радиуса\",\n },\n {\n id: \"nodeRadiusFactor\",\n initialValue: GRAPH_SETTINGS.nodeRadiusFactor,\n max: 50,\n min: 0.1,\n step: 0.1,\n type: \"range\",\n label: \"Коэффициент увеличения радиуса\",\n },\n\n {\n id: \"stickAfterDrag\",\n type: \"checkbox\",\n initialValue: GRAPH_SETTINGS.stickAfterDrag,\n label: \"Фиксировании ноды после перетаскивания\",\n },\n {\n id: \"highlightByHoverNode\",\n type: \"checkbox\",\n initialValue: GRAPH_SETTINGS.highlightByHoverNode,\n label: \"Анимации при наведении\",\n },\n {\n id: \"nodeRadiusFlexible\",\n type: \"checkbox\",\n initialValue: GRAPH_SETTINGS.nodeRadiusFlexible,\n label: \"Гибкий радиус ноды\",\n },\n ];\n\n return keys ? GRAPH_CONTROLS.filter((control) => keys.includes(control.id)) : GRAPH_CONTROLS;\n}\n\nexport function getNodeControls<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n>(keys?: (keyof NodeOptionsInterface<NodeData, LinkData>)[]) {\n const NODE_CONTROLS: GraphSettingsInputInterface<\n keyof NodeOptionsInterface<NodeData, LinkData>\n >[] = [\n {\n id: \"alpha\",\n type: \"range\",\n max: 1,\n min: 0,\n step: 0.1,\n label: \"Прозрачность\",\n initialValue: NODE_OPTIONS.alpha,\n },\n\n {\n id: \"radius\",\n type: \"range\",\n max: 50,\n min: 1,\n step: 1,\n label: \"Радиус\",\n initialValue: NODE_OPTIONS.radius,\n },\n {\n id: \"borderWidth\",\n type: \"range\",\n max: 5,\n min: 0,\n step: 0.1,\n label: \"Толщина границы\",\n initialValue: NODE_OPTIONS.borderWidth,\n },\n {\n id: \"borderColor\",\n type: \"color\",\n initialValue: \"#000000FF\",\n label: \"Цвет границы\",\n },\n {\n id: \"color\",\n type: \"color\",\n initialValue: \"#000000FF\",\n label: \"Цвет\",\n },\n {\n id: \"textAlpha\",\n type: \"range\",\n max: 1,\n min: 0,\n step: 0.1,\n label: \"Прозрачность текста\",\n initialValue: NODE_OPTIONS.textAlpha,\n },\n {\n id: \"textWidth\",\n type: \"range\",\n max: 200,\n min: 5,\n step: 1,\n label: \"Ширина текста\",\n initialValue: NODE_OPTIONS.textWidth,\n },\n {\n id: \"textShiftX\",\n type: \"range\",\n max: 100,\n min: 0,\n step: 0.1,\n label: \"Смещение X текста\",\n initialValue: NODE_OPTIONS.textShiftX,\n },\n {\n id: \"textShiftY\",\n type: \"range\",\n max: 100,\n min: 0,\n step: 0.1,\n label: \"Смещение Y текста\",\n initialValue: 4,\n },\n {\n id: \"textWeight\",\n type: \"range\",\n max: 1000,\n min: 100,\n step: 100,\n label: \"Жирность текста\",\n initialValue: NODE_OPTIONS.textWeight,\n },\n {\n id: \"textGap\",\n type: \"range\",\n max: 30,\n min: 0,\n step: 0.1,\n label: \"Расстояние между строками\",\n initialValue: NODE_OPTIONS.textGap,\n },\n {\n id: \"highlightByNodeNodeFading\",\n type: \"checkbox\",\n initialValue: NODE_OPTIONS.highlightByNodeNodeFading,\n label: \"Затухание при анимации ноды\",\n },\n {\n id: \"highlightByNodeNodeColor\",\n type: \"checkbox\",\n initialValue: NODE_OPTIONS.highlightByNodeNodeColor,\n label: \"Затухание цвета при анимации ноды\",\n },\n {\n id: \"highlightByNodeNodeSizing\",\n type: \"checkbox\",\n initialValue: NODE_OPTIONS.highlightByNodeNodeSizing,\n label: \"Изменение размера при анимации ноды\",\n },\n {\n id: \"highlightByNodeTextFading\",\n type: \"checkbox\",\n initialValue: NODE_OPTIONS.highlightByNodeTextFading,\n label: \"Затухание текста при анимации ноды\",\n },\n {\n id: \"highlightByNodeTextSizing\",\n type: \"checkbox\",\n initialValue: NODE_OPTIONS.highlightByNodeTextSizing,\n label: \"Изменение размера текста при анимации ноды\",\n },\n\n {\n id: \"highlightByLinkNodeFading\",\n type: \"checkbox\",\n initialValue: NODE_OPTIONS.highlightByLinkNodeFading,\n label: \"Затухание при анимации связи\",\n },\n {\n id: \"highlightByLinkNodeColor\",\n type: \"checkbox\",\n initialValue: NODE_OPTIONS.highlightByLinkNodeColor,\n label: \"Затухание цвета при анимации связи\",\n },\n {\n id: \"highlightByLinkNodeSizing\",\n type: \"checkbox\",\n initialValue: NODE_OPTIONS.highlightByLinkNodeSizing,\n label: \"Изменение размера при анимации связи\",\n },\n {\n id: \"highlightByLinkTextFading\",\n type: \"checkbox\",\n initialValue: NODE_OPTIONS.highlightByLinkTextFading,\n label: \"Затухание текста при анимации связи\",\n },\n {\n id: \"highlightByLinkTextSizing\",\n type: \"checkbox\",\n initialValue: NODE_OPTIONS.highlightByLinkTextSizing,\n label: \"Изменение размера текста при анимации связи\",\n },\n ];\n\n return keys ? NODE_CONTROLS.filter((control) => keys.includes(control.id)) : NODE_CONTROLS;\n}\n\nexport function getLinkControls<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n>(keys?: (keyof LinkOptionsInterface<NodeData, LinkData>)[]) {\n const LINK_CONTROLS: GraphSettingsInputInterface<\n keyof LinkOptionsInterface<NodeData, LinkData>\n >[] = [\n {\n id: \"alpha\",\n type: \"range\",\n max: 1,\n min: 0,\n step: 0.1,\n label: \"Прозрачность\",\n initialValue: LINK_OPTIONS.alpha,\n },\n {\n id: \"width\",\n type: \"range\",\n max: 10,\n min: 0.1,\n step: 0.1,\n label: \"Толщина\",\n initialValue: 0.1,\n },\n {\n id: \"arrowAlpha\",\n type: \"range\",\n max: 1,\n min: 0,\n step: 0.1,\n label: \"Прозрачность стрелки\",\n initialValue: LINK_OPTIONS.arrowAlpha,\n },\n {\n id: \"arrowSize\",\n type: \"range\",\n max: 10,\n min: 0.1,\n step: 0.1,\n label: \"Размер стрелки\",\n initialValue: LINK_OPTIONS.arrowSize,\n },\n {\n id: \"particleAlpha\",\n type: \"range\",\n max: 1,\n min: 0,\n step: 0.1,\n label: \"Прозрачность частиц\",\n initialValue: LINK_OPTIONS.particleAlpha,\n },\n {\n id: \"particleRadius\",\n type: \"range\",\n max: 10,\n min: 0.1,\n step: 0.1,\n label: \"Радиус частиц\",\n initialValue: LINK_OPTIONS.particleRadius,\n },\n {\n id: \"particleCount\",\n type: \"range\",\n max: 20,\n min: 1,\n step: 1,\n label: \"Количество частиц\",\n initialValue: LINK_OPTIONS.particleCount,\n },\n {\n id: \"particleSteps\",\n type: \"range\",\n max: 200,\n min: 1,\n step: 1,\n label: \"Количество кадров у частиц\",\n initialValue: LINK_OPTIONS.particleSteps,\n },\n {\n id: \"color\",\n type: \"color\",\n initialValue: \"#000000FF\",\n label: \"Цвет\",\n },\n {\n id: \"arrowColor\",\n type: \"color\",\n initialValue: \"#000000FF\",\n label: \"Цвет стрелки\",\n },\n {\n id: \"particleColor\",\n type: \"color\",\n initialValue: \"#000000FF\",\n label: \"Цвет частиц\",\n },\n {\n id: \"pretty\",\n type: \"checkbox\",\n label: \"Обсчет соединения\",\n initialValue: LINK_OPTIONS.pretty,\n },\n {\n id: \"arrow\",\n type: \"checkbox\",\n label: \"Стрелка\",\n initialValue: LINK_OPTIONS.arrow,\n },\n {\n id: \"highlightByNodeLinkFading\",\n type: \"checkbox\",\n label: \"Затухание при анимации ноды\",\n initialValue: LINK_OPTIONS.highlightByNodeLinkFading,\n },\n {\n id: \"highlightByNodeArrowFading\",\n type: \"checkbox\",\n label: \"Затухание стрелки при анимации ноды\",\n initialValue: LINK_OPTIONS.highlightByNodeArrowFading,\n },\n {\n id: \"highlightByLinkLinkFading\",\n type: \"checkbox\",\n label: \"Затухание при анимации связи\",\n initialValue: LINK_OPTIONS.highlightByLinkLinkFading,\n },\n {\n id: \"highlightByLinkArrowFading\",\n type: \"checkbox\",\n label: \"Затухание стрелки при анимации связи\",\n initialValue: LINK_OPTIONS.highlightByLinkArrowFading,\n },\n {\n id: \"arrowReverseAppear\",\n type: \"checkbox\",\n label: \"Появление стрелки при анимации\",\n initialValue: LINK_OPTIONS.arrowReverseAppear,\n },\n ];\n\n return keys ? LINK_CONTROLS.filter((control) => keys.includes(control.id)) : LINK_CONTROLS;\n}\n"],"names":[],"mappings":"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"}