@krainovsd/graph 0.11.1 → 0.12.0-beta.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.
@@ -24,6 +24,24 @@ const HIGHLIGHT_COMMON_CONTROLS = [
24
24
  type: "range",
25
25
  label: "Расширение границы связи для курсора",
26
26
  },
27
+ {
28
+ id: "highlightDownFrames",
29
+ initialValue: HIGHLIGHT_SETTINGS.highlightDownFrames,
30
+ max: 60,
31
+ min: 1,
32
+ step: 1,
33
+ type: "range",
34
+ label: "Скорость отмены анимации в кадрах",
35
+ },
36
+ {
37
+ id: "highlightUpFrames",
38
+ initialValue: HIGHLIGHT_SETTINGS.highlightUpFrames,
39
+ max: 60,
40
+ min: 1,
41
+ step: 1,
42
+ type: "range",
43
+ label: "Скорость применения анимации в кадрах",
44
+ },
27
45
  ];
28
46
  const HIGHLIGHT_BY_NODE_FOR_NODE_CONTROLS = [
29
47
  {
@@ -53,15 +71,6 @@ const HIGHLIGHT_BY_NODE_FOR_NODE_CONTROLS = [
53
71
  type: "range",
54
72
  label: "Граница прозрачности",
55
73
  },
56
- {
57
- id: "highlightByNodeForNodeColorFadingMin",
58
- initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeColorFadingMin,
59
- max: 1,
60
- min: 0.01,
61
- step: 0.01,
62
- type: "range",
63
- label: "Граница прозрачности без альфа канала",
64
- },
65
74
  {
66
75
  id: "highlightByNodeForNodeSizingAdditional",
67
76
  initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeSizingAdditional,
@@ -261,15 +270,6 @@ const HIGHLIGHT_BY_LINK_FOR_NODE_CONTROLS = [
261
270
  type: "range",
262
271
  label: "Граница прозрачности",
263
272
  },
264
- {
265
- id: "highlightByLinkForNodeColorFadingMin",
266
- initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeColorFadingMin,
267
- max: 1,
268
- min: 0.01,
269
- step: 0.01,
270
- type: "range",
271
- label: "Граница прозрачности без альфа канала",
272
- },
273
273
  {
274
274
  id: "highlightByLinkForNodeSizingAdditional",
275
275
  initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeSizingAdditional,
@@ -1 +1 @@
1
- {"version":3,"file":"highlight-controls.js","sources":["../../../src/constants/highlight-controls.ts"],"sourcesContent":["import type {\n HighlighCommonSettingsInterface,\n HighlightByLinkForArrowSettingsInterface,\n HighlightByLinkForLabelSettingsInterface,\n HighlightByLinkForLinkSettingsInterface,\n HighlightByLinkForNodeSettingsInterface,\n HighlightByLinkForTextSettingsInterface,\n HighlightByNodeForArrowSettingsInterface,\n HighlightByNodeForLabelSettingsInterface,\n HighlightByNodeForLinkSettingsInterface,\n HighlightByNodeForNodeSettingsInterface,\n HighlightByNodeForTextSettingsInterface,\n} from \"@/module/GraphCanvas\";\nimport { HIGHLIGHT_SETTINGS } from \"@/module/GraphCanvas/constants\";\nimport type { GraphSettingsInputInterface } from \"@/types\";\n\nexport const HIGHLIGHT_COMMON_CONTROLS: GraphSettingsInputInterface<\n keyof HighlighCommonSettingsInterface\n>[] = [\n {\n id: \"highlightByHoverNode\",\n type: \"checkbox\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByHoverNode,\n label: \"Анимация при наведении на вершину\",\n },\n {\n id: \"highlightByHoverLink\",\n type: \"checkbox\",\n label: \"Анимация при наведении на связь\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByHoverLink,\n },\n {\n id: \"linkHoverExtraZone\",\n initialValue: HIGHLIGHT_SETTINGS.linkHoverExtraZone,\n max: 10,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Расширение границы связи для курсора\",\n },\n];\n\nexport const HIGHLIGHT_BY_NODE_FOR_NODE_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByNodeForNodeSettingsInterface\n>[] = [\n {\n id: \"highlightByNodeOnlyRoot\",\n type: \"checkbox\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeOnlyRoot,\n label: \"Основная анимация только на инициаторе\",\n },\n {\n id: \"highlightByNodeForNodeColorFading\",\n type: \"checkbox\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeColorFading,\n label: \"Прозрачность без альфа канала\",\n },\n {\n id: \"highlightByNodeForNodeColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeColor ?? \"#000000\",\n label: \"Цвет\",\n },\n {\n id: \"highlightByNodeForNodeFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByNodeForNodeColorFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeColorFadingMin,\n max: 1,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности без альфа канала\",\n },\n {\n id: \"highlightByNodeForNodeSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeSizingAdditional,\n max: 10,\n min: -10,\n step: 0.01,\n type: \"range\",\n label: \"Изменение радиуса (только для круга)\",\n },\n {\n id: \"highlightByNodeForNodeSizingAdditionalCoefficient\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeSizingAdditionalCoefficient,\n max: 10,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Коэффициент изменения размера (только не для круга)\",\n },\n {\n id: \"highlightByNodeForNodeBorderColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeBorderColor ?? \"#000000\",\n label: \"Цвет границы\",\n },\n {\n id: \"highlightByNodeForNodeBorderSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeBorderSizingAdditional,\n max: 10,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Изменение размера границы\",\n },\n];\n\nexport const HIGHLIGHT_BY_NODE_FOR_TEXT_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByNodeForTextSettingsInterface\n>[] = [\n {\n id: \"highlightByNodeForTextFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForTextFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByNodeForTextSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForTextSizingAdditional,\n max: 10,\n min: -10,\n step: 0.1,\n type: \"range\",\n label: \"Изменение размера\",\n },\n {\n id: \"highlightByNodeForTextWeightAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForTextWeightAdditional,\n max: 1000,\n min: -1000,\n step: 100,\n type: \"range\",\n label: \"Изменение жирности\",\n },\n {\n id: \"highlightByNodeForTextShiftXAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForTextShiftXAdditional,\n max: 50,\n min: -50,\n step: 0.1,\n type: \"range\",\n label: \"Смещение по оси X\",\n },\n {\n id: \"highlightByNodeForTextShiftYAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForTextShiftYAdditional,\n max: 50,\n min: -50,\n step: 0.1,\n type: \"range\",\n label: \"Смещение по оси Y\",\n },\n];\n\nexport const HIGHLIGHT_BY_NODE_FOR_LABEL_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByNodeForLabelSettingsInterface\n>[] = [\n {\n id: \"highlightByNodeForLabelFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForLabelFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByNodeForLabelSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForLabelSizingAdditional,\n max: 10,\n min: -10,\n step: 0.1,\n type: \"range\",\n label: \"Изменение размера\",\n },\n {\n id: \"highlightByNodeForLabelWeightAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForLabelWeightAdditional,\n max: 1000,\n min: -1000,\n step: 100,\n type: \"range\",\n label: \"Изменение жирности\",\n },\n];\n\nexport const HIGHLIGHT_BY_NODE_FOR_LINK_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByNodeForLinkSettingsInterface\n>[] = [\n {\n id: \"highlightByNodeForLinkColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForLinkColor ?? \"#000000\",\n label: \"Цвет\",\n },\n {\n id: \"highlightByNodeForLinkFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForLinkFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByNodeForLinkSizeAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForLinkSizeAdditional,\n max: 10,\n min: -10,\n step: 0.1,\n type: \"range\",\n label: \"Изменение размера\",\n },\n];\n\nexport const HIGHLIGHT_BY_NODE_FOR_ARROW_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByNodeForArrowSettingsInterface\n>[] = [\n {\n id: \"highlightByNodeForArrowColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForArrowColor ?? \"#000000\",\n label: \"Цвет\",\n },\n {\n id: \"highlightByNodeForArrowFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForArrowFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByNodeForArrowSizeAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForArrowSizeAdditional,\n max: 10,\n min: -10,\n step: 0.1,\n type: \"range\",\n label: \"Изменение размера\",\n },\n {\n id: \"highlightByNodeForArrowBorderColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForArrowBorderColor ?? \"#000000\",\n label: \"Цвет границы\",\n },\n {\n id: \"highlightByNodeForArrowBorderSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForArrowBorderSizingAdditional,\n max: 10,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Изменение размера границы\",\n },\n];\n\nexport const HIGHLIGHT_BY_LINK_FOR_NODE_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByLinkForNodeSettingsInterface\n>[] = [\n {\n id: \"highlightByLinkForNodeColorFading\",\n type: \"checkbox\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeColorFading,\n label: \"Прозрачность без альфа канала\",\n },\n {\n id: \"highlightByLinkForNodeColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeColor ?? \"#000000\",\n label: \"Цвет\",\n },\n {\n id: \"highlightByLinkForNodeFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByLinkForNodeColorFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeColorFadingMin,\n max: 1,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности без альфа канала\",\n },\n {\n id: \"highlightByLinkForNodeSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeSizingAdditional,\n max: 10,\n min: -10,\n step: 0.01,\n type: \"range\",\n label: \"Изменение радиуса (только для круга)\",\n },\n {\n id: \"highlightByLinkForNodeSizingAdditionalCoefficient\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeSizingAdditionalCoefficient,\n max: 10,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Коэффициент изменения размера (только не для круга)\",\n },\n {\n id: \"highlightByLinkForNodeBorderColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeBorderColor ?? \"#000000\",\n label: \"Цвет границы\",\n },\n {\n id: \"highlightByLinkForNodeBorderSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeBorderSizingAdditional,\n max: 10,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Изменение размера границы\",\n },\n];\n\nexport const HIGHLIGHT_BY_LINK_FOR_TEXT_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByLinkForTextSettingsInterface\n>[] = [\n {\n id: \"highlightByLinkForTextFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForTextFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByLinkForTextSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForTextSizingAdditional,\n max: 10,\n min: -10,\n step: 0.1,\n type: \"range\",\n label: \"Изменение размера\",\n },\n {\n id: \"highlightByLinkForTextWeightAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForTextWeightAdditional,\n max: 1000,\n min: -1000,\n step: 100,\n type: \"range\",\n label: \"Изменение жирности\",\n },\n {\n id: \"highlightByLinkForTextShiftXAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForTextShiftXAdditional,\n max: 50,\n min: -50,\n step: 0.1,\n type: \"range\",\n label: \"Смещение по оси X\",\n },\n {\n id: \"highlightByLinkForTextShiftYAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForTextShiftYAdditional,\n max: 50,\n min: -50,\n step: 0.1,\n type: \"range\",\n label: \"Смещение по оси Y\",\n },\n];\n\nexport const HIGHLIGHT_BY_LINK_FOR_LABEL_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByLinkForLabelSettingsInterface\n>[] = [\n {\n id: \"highlightByLinkForLabelFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForLabelFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByLinkForLabelSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForLabelSizingAdditional,\n max: 10,\n min: -10,\n step: 0.1,\n type: \"range\",\n label: \"Изменение размера\",\n },\n {\n id: \"highlightByLinkForLabelWeightAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForLabelWeightAdditional,\n max: 1000,\n min: -1000,\n step: 100,\n type: \"range\",\n label: \"Изменение жирности\",\n },\n];\n\nexport const HIGHLIGHT_BY_LINK_FOR_LINK_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByLinkForLinkSettingsInterface\n>[] = [\n {\n id: \"highlightByLinkForLinkColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForLinkColor ?? \"#000000\",\n label: \"Цвет\",\n },\n {\n id: \"highlightByLinkForLinkFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForLinkFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByLinkForLinkSizeAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForLinkSizeAdditional,\n max: 10,\n min: -10,\n step: 0.1,\n type: \"range\",\n label: \"Изменение размера\",\n },\n];\n\nexport const HIGHLIGHT_BY_LINK_FOR_ARROW_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByLinkForArrowSettingsInterface\n>[] = [\n {\n id: \"highlightByLinkForArrowColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForArrowColor ?? \"#000000\",\n label: \"Цвет\",\n },\n {\n id: \"highlightByLinkForArrowFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForArrowFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByLinkForArrowSizeAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForArrowSizeAdditional,\n max: 10,\n min: -10,\n step: 0.1,\n type: \"range\",\n label: \"Изменение размера\",\n },\n {\n id: \"highlightByLinkForArrowBorderColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForArrowBorderColor ?? \"#000000\",\n label: \"Цвет границы\",\n },\n {\n id: \"highlightByLinkForArrowBorderSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForArrowBorderSizingAdditional,\n max: 10,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Изменение размера границы\",\n },\n];\n"],"names":[],"mappings":";;;;AAgBa,MAAA,yBAAyB,GAEhC;AACJ,IAAA;AACE,QAAA,EAAE,EAAE,sBAAsB;AAC1B,QAAA,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,kBAAkB,CAAC,oBAAoB;AACrD,QAAA,KAAK,EAAE,mCAAmC;AAC3C,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,sBAAsB;AAC1B,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,KAAK,EAAE,iCAAiC;QACxC,YAAY,EAAE,kBAAkB,CAAC,oBAAoB;AACtD,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,oBAAoB;QACxB,YAAY,EAAE,kBAAkB,CAAC,kBAAkB;AACnD,QAAA,GAAG,EAAE,EAAE;AACP,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,sCAAsC;AAC9C,KAAA;;AAGU,MAAA,mCAAmC,GAE1C;AACJ,IAAA;AACE,QAAA,EAAE,EAAE,yBAAyB;AAC7B,QAAA,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,kBAAkB,CAAC,uBAAuB;AACxD,QAAA,KAAK,EAAE,wCAAwC;AAChD,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,mCAAmC;AACvC,QAAA,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,kBAAkB,CAAC,iCAAiC;AAClE,QAAA,KAAK,EAAE,+BAA+B;AACvC,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,6BAA6B;AACjC,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,YAAY,EAAE,kBAAkB,CAAC,2BAA2B,IAAI,SAAS;AACzE,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,iCAAiC;QACrC,YAAY,EAAE,kBAAkB,CAAC,+BAA+B;AAChE,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,sBAAsB;AAC9B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,sCAAsC;QAC1C,YAAY,EAAE,kBAAkB,CAAC,oCAAoC;AACrE,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,GAAG,EAAE,IAAI;AACT,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,uCAAuC;AAC/C,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,wCAAwC;QAC5C,YAAY,EAAE,kBAAkB,CAAC,sCAAsC;AACvE,QAAA,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,GAAG;AACR,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,sCAAsC;AAC9C,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,mDAAmD;QACvD,YAAY,EAAE,kBAAkB,CAAC,iDAAiD;AAClF,QAAA,GAAG,EAAE,EAAE;AACP,QAAA,GAAG,EAAE,IAAI;AACT,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,qDAAqD;AAC7D,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,mCAAmC;AACvC,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,YAAY,EAAE,kBAAkB,CAAC,iCAAiC,IAAI,SAAS;AAC/E,QAAA,KAAK,EAAE,cAAc;AACtB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,8CAA8C;QAClD,YAAY,EAAE,kBAAkB,CAAC,4CAA4C;AAC7E,QAAA,GAAG,EAAE,EAAE;AACP,QAAA,GAAG,EAAE,IAAI;AACT,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,2BAA2B;AACnC,KAAA;;AAGU,MAAA,mCAAmC,GAE1C;AACJ,IAAA;AACE,QAAA,EAAE,EAAE,iCAAiC;QACrC,YAAY,EAAE,kBAAkB,CAAC,+BAA+B;AAChE,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,sBAAsB;AAC9B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,wCAAwC;QAC5C,YAAY,EAAE,kBAAkB,CAAC,sCAAsC;AACvE,QAAA,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,GAAG;AACR,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,mBAAmB;AAC3B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,wCAAwC;QAC5C,YAAY,EAAE,kBAAkB,CAAC,sCAAsC;AACvE,QAAA,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAK;AACV,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,oBAAoB;AAC5B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,wCAAwC;QAC5C,YAAY,EAAE,kBAAkB,CAAC,sCAAsC;AACvE,QAAA,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,GAAG;AACR,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,mBAAmB;AAC3B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,wCAAwC;QAC5C,YAAY,EAAE,kBAAkB,CAAC,sCAAsC;AACvE,QAAA,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,GAAG;AACR,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,mBAAmB;AAC3B,KAAA;;AAGU,MAAA,oCAAoC,GAE3C;AACJ,IAAA;AACE,QAAA,EAAE,EAAE,kCAAkC;QACtC,YAAY,EAAE,kBAAkB,CAAC,gCAAgC;AACjE,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,sBAAsB;AAC9B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,yCAAyC;QAC7C,YAAY,EAAE,kBAAkB,CAAC,uCAAuC;AACxE,QAAA,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,GAAG;AACR,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,mBAAmB;AAC3B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,yCAAyC;QAC7C,YAAY,EAAE,kBAAkB,CAAC,uCAAuC;AACxE,QAAA,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAK;AACV,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,oBAAoB;AAC5B,KAAA;;AAGU,MAAA,mCAAmC,GAE1C;AACJ,IAAA;AACE,QAAA,EAAE,EAAE,6BAA6B;AACjC,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,YAAY,EAAE,kBAAkB,CAAC,2BAA2B,IAAI,SAAS;AACzE,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,iCAAiC;QACrC,YAAY,EAAE,kBAAkB,CAAC,+BAA+B;AAChE,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,sBAAsB;AAC9B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,sCAAsC;QAC1C,YAAY,EAAE,kBAAkB,CAAC,oCAAoC;AACrE,QAAA,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,GAAG;AACR,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,mBAAmB;AAC3B,KAAA;;AAGU,MAAA,oCAAoC,GAE3C;AACJ,IAAA;AACE,QAAA,EAAE,EAAE,8BAA8B;AAClC,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,YAAY,EAAE,kBAAkB,CAAC,4BAA4B,IAAI,SAAS;AAC1E,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,kCAAkC;QACtC,YAAY,EAAE,kBAAkB,CAAC,gCAAgC;AACjE,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,sBAAsB;AAC9B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,uCAAuC;QAC3C,YAAY,EAAE,kBAAkB,CAAC,qCAAqC;AACtE,QAAA,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,GAAG;AACR,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,mBAAmB;AAC3B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,oCAAoC;AACxC,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,YAAY,EAAE,kBAAkB,CAAC,kCAAkC,IAAI,SAAS;AAChF,QAAA,KAAK,EAAE,cAAc;AACtB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,+CAA+C;QACnD,YAAY,EAAE,kBAAkB,CAAC,6CAA6C;AAC9E,QAAA,GAAG,EAAE,EAAE;AACP,QAAA,GAAG,EAAE,IAAI;AACT,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,2BAA2B;AACnC,KAAA;;AAGU,MAAA,mCAAmC,GAE1C;AACJ,IAAA;AACE,QAAA,EAAE,EAAE,mCAAmC;AACvC,QAAA,IAAI,EAAE,UAAU;QAChB,YAAY,EAAE,kBAAkB,CAAC,iCAAiC;AAClE,QAAA,KAAK,EAAE,+BAA+B;AACvC,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,6BAA6B;AACjC,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,YAAY,EAAE,kBAAkB,CAAC,2BAA2B,IAAI,SAAS;AACzE,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,iCAAiC;QACrC,YAAY,EAAE,kBAAkB,CAAC,+BAA+B;AAChE,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,sBAAsB;AAC9B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,sCAAsC;QAC1C,YAAY,EAAE,kBAAkB,CAAC,oCAAoC;AACrE,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,GAAG,EAAE,IAAI;AACT,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,uCAAuC;AAC/C,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,wCAAwC;QAC5C,YAAY,EAAE,kBAAkB,CAAC,sCAAsC;AACvE,QAAA,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,GAAG;AACR,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,sCAAsC;AAC9C,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,mDAAmD;QACvD,YAAY,EAAE,kBAAkB,CAAC,iDAAiD;AAClF,QAAA,GAAG,EAAE,EAAE;AACP,QAAA,GAAG,EAAE,IAAI;AACT,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,qDAAqD;AAC7D,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,mCAAmC;AACvC,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,YAAY,EAAE,kBAAkB,CAAC,iCAAiC,IAAI,SAAS;AAC/E,QAAA,KAAK,EAAE,cAAc;AACtB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,8CAA8C;QAClD,YAAY,EAAE,kBAAkB,CAAC,4CAA4C;AAC7E,QAAA,GAAG,EAAE,EAAE;AACP,QAAA,GAAG,EAAE,IAAI;AACT,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,2BAA2B;AACnC,KAAA;;AAGU,MAAA,mCAAmC,GAE1C;AACJ,IAAA;AACE,QAAA,EAAE,EAAE,iCAAiC;QACrC,YAAY,EAAE,kBAAkB,CAAC,+BAA+B;AAChE,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,sBAAsB;AAC9B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,wCAAwC;QAC5C,YAAY,EAAE,kBAAkB,CAAC,sCAAsC;AACvE,QAAA,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,GAAG;AACR,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,mBAAmB;AAC3B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,wCAAwC;QAC5C,YAAY,EAAE,kBAAkB,CAAC,sCAAsC;AACvE,QAAA,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAK;AACV,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,oBAAoB;AAC5B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,wCAAwC;QAC5C,YAAY,EAAE,kBAAkB,CAAC,sCAAsC;AACvE,QAAA,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,GAAG;AACR,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,mBAAmB;AAC3B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,wCAAwC;QAC5C,YAAY,EAAE,kBAAkB,CAAC,sCAAsC;AACvE,QAAA,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,GAAG;AACR,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,mBAAmB;AAC3B,KAAA;;AAGU,MAAA,oCAAoC,GAE3C;AACJ,IAAA;AACE,QAAA,EAAE,EAAE,kCAAkC;QACtC,YAAY,EAAE,kBAAkB,CAAC,gCAAgC;AACjE,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,sBAAsB;AAC9B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,yCAAyC;QAC7C,YAAY,EAAE,kBAAkB,CAAC,uCAAuC;AACxE,QAAA,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,GAAG;AACR,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,mBAAmB;AAC3B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,yCAAyC;QAC7C,YAAY,EAAE,kBAAkB,CAAC,uCAAuC;AACxE,QAAA,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAK;AACV,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,oBAAoB;AAC5B,KAAA;;AAGU,MAAA,mCAAmC,GAE1C;AACJ,IAAA;AACE,QAAA,EAAE,EAAE,6BAA6B;AACjC,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,YAAY,EAAE,kBAAkB,CAAC,2BAA2B,IAAI,SAAS;AACzE,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,iCAAiC;QACrC,YAAY,EAAE,kBAAkB,CAAC,+BAA+B;AAChE,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,sBAAsB;AAC9B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,sCAAsC;QAC1C,YAAY,EAAE,kBAAkB,CAAC,oCAAoC;AACrE,QAAA,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,GAAG;AACR,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,mBAAmB;AAC3B,KAAA;;AAGU,MAAA,oCAAoC,GAE3C;AACJ,IAAA;AACE,QAAA,EAAE,EAAE,8BAA8B;AAClC,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,YAAY,EAAE,kBAAkB,CAAC,4BAA4B,IAAI,SAAS;AAC1E,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,kCAAkC;QACtC,YAAY,EAAE,kBAAkB,CAAC,gCAAgC;AACjE,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,GAAG,EAAE,CAAC;AACN,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,sBAAsB;AAC9B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,uCAAuC;QAC3C,YAAY,EAAE,kBAAkB,CAAC,qCAAqC;AACtE,QAAA,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,GAAG;AACR,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,mBAAmB;AAC3B,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,oCAAoC;AACxC,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,YAAY,EAAE,kBAAkB,CAAC,kCAAkC,IAAI,SAAS;AAChF,QAAA,KAAK,EAAE,cAAc;AACtB,KAAA;AACD,IAAA;AACE,QAAA,EAAE,EAAE,+CAA+C;QACnD,YAAY,EAAE,kBAAkB,CAAC,6CAA6C;AAC9E,QAAA,GAAG,EAAE,EAAE;AACP,QAAA,GAAG,EAAE,IAAI;AACT,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,IAAI,EAAE,OAAO;AACb,QAAA,KAAK,EAAE,2BAA2B;AACnC,KAAA;;;;;"}
1
+ {"version":3,"file":"highlight-controls.js","sources":["../../../src/constants/highlight-controls.ts"],"sourcesContent":["import type {\n HighlighCommonSettingsInterface,\n HighlightByLinkForArrowSettingsInterface,\n HighlightByLinkForLabelSettingsInterface,\n HighlightByLinkForLinkSettingsInterface,\n HighlightByLinkForNodeSettingsInterface,\n HighlightByLinkForTextSettingsInterface,\n HighlightByNodeForArrowSettingsInterface,\n HighlightByNodeForLabelSettingsInterface,\n HighlightByNodeForLinkSettingsInterface,\n HighlightByNodeForNodeSettingsInterface,\n HighlightByNodeForTextSettingsInterface,\n} from \"@/module/GraphCanvas\";\nimport { HIGHLIGHT_SETTINGS } from \"@/module/GraphCanvas/constants\";\nimport type { GraphSettingsInputInterface } from \"@/types\";\n\nexport const HIGHLIGHT_COMMON_CONTROLS: GraphSettingsInputInterface<\n keyof HighlighCommonSettingsInterface\n>[] = [\n {\n id: \"highlightByHoverNode\",\n type: \"checkbox\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByHoverNode,\n label: \"Анимация при наведении на вершину\",\n },\n {\n id: \"highlightByHoverLink\",\n type: \"checkbox\",\n label: \"Анимация при наведении на связь\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByHoverLink,\n },\n {\n id: \"linkHoverExtraZone\",\n initialValue: HIGHLIGHT_SETTINGS.linkHoverExtraZone,\n max: 10,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Расширение границы связи для курсора\",\n },\n {\n id: \"highlightDownFrames\",\n initialValue: HIGHLIGHT_SETTINGS.highlightDownFrames,\n max: 60,\n min: 1,\n step: 1,\n type: \"range\",\n label: \"Скорость отмены анимации в кадрах\",\n },\n {\n id: \"highlightUpFrames\",\n initialValue: HIGHLIGHT_SETTINGS.highlightUpFrames,\n max: 60,\n min: 1,\n step: 1,\n type: \"range\",\n label: \"Скорость применения анимации в кадрах\",\n },\n];\n\nexport const HIGHLIGHT_BY_NODE_FOR_NODE_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByNodeForNodeSettingsInterface\n>[] = [\n {\n id: \"highlightByNodeOnlyRoot\",\n type: \"checkbox\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeOnlyRoot,\n label: \"Основная анимация только на инициаторе\",\n },\n {\n id: \"highlightByNodeForNodeColorFading\",\n type: \"checkbox\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeColorFading,\n label: \"Прозрачность без альфа канала\",\n },\n {\n id: \"highlightByNodeForNodeColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeColor ?? \"#000000\",\n label: \"Цвет\",\n },\n {\n id: \"highlightByNodeForNodeFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByNodeForNodeSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeSizingAdditional,\n max: 10,\n min: -10,\n step: 0.01,\n type: \"range\",\n label: \"Изменение радиуса (только для круга)\",\n },\n {\n id: \"highlightByNodeForNodeSizingAdditionalCoefficient\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeSizingAdditionalCoefficient,\n max: 10,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Коэффициент изменения размера (только не для круга)\",\n },\n {\n id: \"highlightByNodeForNodeBorderColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeBorderColor ?? \"#000000\",\n label: \"Цвет границы\",\n },\n {\n id: \"highlightByNodeForNodeBorderSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForNodeBorderSizingAdditional,\n max: 10,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Изменение размера границы\",\n },\n];\n\nexport const HIGHLIGHT_BY_NODE_FOR_TEXT_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByNodeForTextSettingsInterface\n>[] = [\n {\n id: \"highlightByNodeForTextFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForTextFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByNodeForTextSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForTextSizingAdditional,\n max: 10,\n min: -10,\n step: 0.1,\n type: \"range\",\n label: \"Изменение размера\",\n },\n {\n id: \"highlightByNodeForTextWeightAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForTextWeightAdditional,\n max: 1000,\n min: -1000,\n step: 100,\n type: \"range\",\n label: \"Изменение жирности\",\n },\n {\n id: \"highlightByNodeForTextShiftXAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForTextShiftXAdditional,\n max: 50,\n min: -50,\n step: 0.1,\n type: \"range\",\n label: \"Смещение по оси X\",\n },\n {\n id: \"highlightByNodeForTextShiftYAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForTextShiftYAdditional,\n max: 50,\n min: -50,\n step: 0.1,\n type: \"range\",\n label: \"Смещение по оси Y\",\n },\n];\n\nexport const HIGHLIGHT_BY_NODE_FOR_LABEL_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByNodeForLabelSettingsInterface\n>[] = [\n {\n id: \"highlightByNodeForLabelFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForLabelFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByNodeForLabelSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForLabelSizingAdditional,\n max: 10,\n min: -10,\n step: 0.1,\n type: \"range\",\n label: \"Изменение размера\",\n },\n {\n id: \"highlightByNodeForLabelWeightAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForLabelWeightAdditional,\n max: 1000,\n min: -1000,\n step: 100,\n type: \"range\",\n label: \"Изменение жирности\",\n },\n];\n\nexport const HIGHLIGHT_BY_NODE_FOR_LINK_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByNodeForLinkSettingsInterface\n>[] = [\n {\n id: \"highlightByNodeForLinkColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForLinkColor ?? \"#000000\",\n label: \"Цвет\",\n },\n {\n id: \"highlightByNodeForLinkFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForLinkFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByNodeForLinkSizeAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForLinkSizeAdditional,\n max: 10,\n min: -10,\n step: 0.1,\n type: \"range\",\n label: \"Изменение размера\",\n },\n];\n\nexport const HIGHLIGHT_BY_NODE_FOR_ARROW_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByNodeForArrowSettingsInterface\n>[] = [\n {\n id: \"highlightByNodeForArrowColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForArrowColor ?? \"#000000\",\n label: \"Цвет\",\n },\n {\n id: \"highlightByNodeForArrowFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForArrowFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByNodeForArrowSizeAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForArrowSizeAdditional,\n max: 10,\n min: -10,\n step: 0.1,\n type: \"range\",\n label: \"Изменение размера\",\n },\n {\n id: \"highlightByNodeForArrowBorderColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForArrowBorderColor ?? \"#000000\",\n label: \"Цвет границы\",\n },\n {\n id: \"highlightByNodeForArrowBorderSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByNodeForArrowBorderSizingAdditional,\n max: 10,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Изменение размера границы\",\n },\n];\n\nexport const HIGHLIGHT_BY_LINK_FOR_NODE_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByLinkForNodeSettingsInterface\n>[] = [\n {\n id: \"highlightByLinkForNodeColorFading\",\n type: \"checkbox\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeColorFading,\n label: \"Прозрачность без альфа канала\",\n },\n {\n id: \"highlightByLinkForNodeColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeColor ?? \"#000000\",\n label: \"Цвет\",\n },\n {\n id: \"highlightByLinkForNodeFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByLinkForNodeSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeSizingAdditional,\n max: 10,\n min: -10,\n step: 0.01,\n type: \"range\",\n label: \"Изменение радиуса (только для круга)\",\n },\n {\n id: \"highlightByLinkForNodeSizingAdditionalCoefficient\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeSizingAdditionalCoefficient,\n max: 10,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Коэффициент изменения размера (только не для круга)\",\n },\n {\n id: \"highlightByLinkForNodeBorderColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeBorderColor ?? \"#000000\",\n label: \"Цвет границы\",\n },\n {\n id: \"highlightByLinkForNodeBorderSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForNodeBorderSizingAdditional,\n max: 10,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Изменение размера границы\",\n },\n];\n\nexport const HIGHLIGHT_BY_LINK_FOR_TEXT_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByLinkForTextSettingsInterface\n>[] = [\n {\n id: \"highlightByLinkForTextFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForTextFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByLinkForTextSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForTextSizingAdditional,\n max: 10,\n min: -10,\n step: 0.1,\n type: \"range\",\n label: \"Изменение размера\",\n },\n {\n id: \"highlightByLinkForTextWeightAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForTextWeightAdditional,\n max: 1000,\n min: -1000,\n step: 100,\n type: \"range\",\n label: \"Изменение жирности\",\n },\n {\n id: \"highlightByLinkForTextShiftXAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForTextShiftXAdditional,\n max: 50,\n min: -50,\n step: 0.1,\n type: \"range\",\n label: \"Смещение по оси X\",\n },\n {\n id: \"highlightByLinkForTextShiftYAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForTextShiftYAdditional,\n max: 50,\n min: -50,\n step: 0.1,\n type: \"range\",\n label: \"Смещение по оси Y\",\n },\n];\n\nexport const HIGHLIGHT_BY_LINK_FOR_LABEL_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByLinkForLabelSettingsInterface\n>[] = [\n {\n id: \"highlightByLinkForLabelFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForLabelFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByLinkForLabelSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForLabelSizingAdditional,\n max: 10,\n min: -10,\n step: 0.1,\n type: \"range\",\n label: \"Изменение размера\",\n },\n {\n id: \"highlightByLinkForLabelWeightAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForLabelWeightAdditional,\n max: 1000,\n min: -1000,\n step: 100,\n type: \"range\",\n label: \"Изменение жирности\",\n },\n];\n\nexport const HIGHLIGHT_BY_LINK_FOR_LINK_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByLinkForLinkSettingsInterface\n>[] = [\n {\n id: \"highlightByLinkForLinkColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForLinkColor ?? \"#000000\",\n label: \"Цвет\",\n },\n {\n id: \"highlightByLinkForLinkFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForLinkFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByLinkForLinkSizeAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForLinkSizeAdditional,\n max: 10,\n min: -10,\n step: 0.1,\n type: \"range\",\n label: \"Изменение размера\",\n },\n];\n\nexport const HIGHLIGHT_BY_LINK_FOR_ARROW_CONTROLS: GraphSettingsInputInterface<\n keyof HighlightByLinkForArrowSettingsInterface\n>[] = [\n {\n id: \"highlightByLinkForArrowColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForArrowColor ?? \"#000000\",\n label: \"Цвет\",\n },\n {\n id: \"highlightByLinkForArrowFadingMin\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForArrowFadingMin,\n max: 1,\n min: 0,\n step: 0.01,\n type: \"range\",\n label: \"Граница прозрачности\",\n },\n {\n id: \"highlightByLinkForArrowSizeAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForArrowSizeAdditional,\n max: 10,\n min: -10,\n step: 0.1,\n type: \"range\",\n label: \"Изменение размера\",\n },\n {\n id: \"highlightByLinkForArrowBorderColor\",\n type: \"color\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForArrowBorderColor ?? \"#000000\",\n label: \"Цвет границы\",\n },\n {\n id: \"highlightByLinkForArrowBorderSizingAdditional\",\n initialValue: HIGHLIGHT_SETTINGS.highlightByLinkForArrowBorderSizingAdditional,\n max: 10,\n min: 0.01,\n step: 0.01,\n type: \"range\",\n label: \"Изменение размера границы\",\n },\n];\n"],"names":[],"mappings":"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"}
package/lib/esm/index.js CHANGED
@@ -41,7 +41,6 @@ export { HIGHLIGHT_SETTINGS } from './module/GraphCanvas/constants/highlight-set
41
41
  export { LINK_OPTIONS, LINK_SETTINGS } from './module/GraphCanvas/constants/link-settings.js';
42
42
  export { NODE_OPTIONS, NODE_SETTINGS } from './module/GraphCanvas/constants/node-settings.js';
43
43
  export { FORCE_CONTROLS } from './constants/force-controls.js';
44
- export { GRAPH_CONTROLS } from './constants/graph-controls.js';
45
44
  export { HIGHLIGHT_BY_LINK_FOR_ARROW_CONTROLS, HIGHLIGHT_BY_LINK_FOR_LABEL_CONTROLS, HIGHLIGHT_BY_LINK_FOR_LINK_CONTROLS, HIGHLIGHT_BY_LINK_FOR_NODE_CONTROLS, HIGHLIGHT_BY_LINK_FOR_TEXT_CONTROLS, HIGHLIGHT_BY_NODE_FOR_ARROW_CONTROLS, HIGHLIGHT_BY_NODE_FOR_LABEL_CONTROLS, HIGHLIGHT_BY_NODE_FOR_LINK_CONTROLS, HIGHLIGHT_BY_NODE_FOR_NODE_CONTROLS, HIGHLIGHT_BY_NODE_FOR_TEXT_CONTROLS, HIGHLIGHT_COMMON_CONTROLS } from './constants/highlight-controls.js';
46
45
  export { LINK_OPTIONS_ARROW_CONTROLS, LINK_OPTIONS_LINK_CONTROLS, LINK_OPTIONS_PARTICLE_CONTROLS, LINK_SETTINGS_CONTROLS } from './constants/link-controls.js';
47
46
  export { NODE_OPTIONS_LABEL_CONTROLS, NODE_OPTIONS_NODE_CONTROLS, NODE_OPTIONS_TEXT_CONTROLS, NODE_SETTINGS_CONTROLS } from './constants/node-controls.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -7,8 +7,6 @@ const GRAPH_SETTINGS = {
7
7
  translateExtent: [[], []],
8
8
  translateExtentEnable: true,
9
9
  translateExtentCoefficient: [3, 3],
10
- highlightUpFrames: 5,
11
- highlightDownFrames: 5,
12
10
  dragPlaceCoefficient: dragPlaceCoefficientGetter,
13
11
  zoomInitial: null,
14
12
  showDrawTime: true,
@@ -1 +1 @@
1
- {"version":3,"file":"graph-settings.js","sources":["../../../../../src/module/GraphCanvas/constants/graph-settings.ts"],"sourcesContent":["import { dragPlaceCoefficientGetter } from \"../lib\";\nimport type { GraphSettingsInterface } from \"../types/graph-settings\";\n\nexport const GRAPH_SETTINGS: Required<GraphSettingsInterface<Record<string, unknown>>> = {\n zoomExtent: [0.3, 10] as [number, number],\n translateExtent: [[], []],\n translateExtentEnable: true,\n translateExtentCoefficient: [3, 3],\n highlightUpFrames: 5,\n highlightDownFrames: 5,\n dragPlaceCoefficient: dragPlaceCoefficientGetter,\n zoomInitial: null,\n showDrawTime: true,\n showDrawTimeEveryTick: false,\n};\n"],"names":[],"mappings":";;;;AAGa,MAAA,cAAc,GAA8D;AACvF,IAAA,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAqB;AACzC,IAAA,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AACzB,IAAA,qBAAqB,EAAE,IAAI;AAC3B,IAAA,0BAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAClC,IAAA,iBAAiB,EAAE,CAAC;AACpB,IAAA,mBAAmB,EAAE,CAAC;AACtB,IAAA,oBAAoB,EAAE,0BAA0B;AAChD,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,qBAAqB,EAAE,KAAK;;;;;"}
1
+ {"version":3,"file":"graph-settings.js","sources":["../../../../../src/module/GraphCanvas/constants/graph-settings.ts"],"sourcesContent":["import { dragPlaceCoefficientGetter } from \"../lib\";\nimport type { GraphSettingsInterface } from \"../types/graph-settings\";\n\nexport const GRAPH_SETTINGS: Required<GraphSettingsInterface<Record<string, unknown>>> = {\n zoomExtent: [0.3, 10] as [number, number],\n translateExtent: [[], []],\n translateExtentEnable: true,\n translateExtentCoefficient: [3, 3],\n dragPlaceCoefficient: dragPlaceCoefficientGetter,\n zoomInitial: null,\n showDrawTime: true,\n showDrawTimeEveryTick: false,\n};\n"],"names":[],"mappings":";;;;AAGa,MAAA,cAAc,GAA8D;AACvF,IAAA,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAqB;AACzC,IAAA,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AACzB,IAAA,qBAAqB,EAAE,IAAI;AAC3B,IAAA,0BAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAClC,IAAA,oBAAoB,EAAE,0BAA0B;AAChD,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,qBAAqB,EAAE,KAAK;;;;;"}
@@ -1,6 +1,8 @@
1
1
  const HIGHLIGHT_SETTINGS = {
2
2
  highlightByHoverNode: true,
3
3
  highlightByHoverLink: true,
4
+ highlightUpFrames: 5,
5
+ highlightDownFrames: 5,
4
6
  linkHoverExtraZone: 2,
5
7
  /** Node */
6
8
  highlightByNodeOnlyRoot: true,
@@ -8,7 +10,6 @@ const HIGHLIGHT_SETTINGS = {
8
10
  highlightByNodeForNodeColor: null,
9
11
  highlightByNodeForNodeSizingAdditional: 0.5,
10
12
  highlightByNodeForNodeSizingAdditionalCoefficient: 0.35,
11
- highlightByNodeForNodeColorFadingMin: 0.15,
12
13
  highlightByNodeForNodeFadingMin: 0.21,
13
14
  highlightByNodeForNodeBorderColor: null,
14
15
  highlightByNodeForNodeBorderSizingAdditional: 0,
@@ -16,7 +17,6 @@ const HIGHLIGHT_SETTINGS = {
16
17
  highlightByLinkForNodeColor: null,
17
18
  highlightByLinkForNodeSizingAdditional: 0.5,
18
19
  highlightByLinkForNodeSizingAdditionalCoefficient: 0.35,
19
- highlightByLinkForNodeColorFadingMin: 0.15,
20
20
  highlightByLinkForNodeFadingMin: 0.21,
21
21
  highlightByLinkForNodeBorderColor: null,
22
22
  highlightByLinkForNodeBorderSizingAdditional: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"highlight-settings.js","sources":["../../../../../src/module/GraphCanvas/constants/highlight-settings.ts"],"sourcesContent":["import type { HighlightSettingsInterface } from \"../types/highlight-settings\";\n\nexport const HIGHLIGHT_SETTINGS: Required<HighlightSettingsInterface> = {\n highlightByHoverNode: true,\n highlightByHoverLink: true,\n linkHoverExtraZone: 2,\n /** Node */\n highlightByNodeOnlyRoot: true,\n highlightByNodeForNodeColorFading: false,\n highlightByNodeForNodeColor: null,\n highlightByNodeForNodeSizingAdditional: 0.5,\n highlightByNodeForNodeSizingAdditionalCoefficient: 0.35,\n highlightByNodeForNodeColorFadingMin: 0.15,\n highlightByNodeForNodeFadingMin: 0.21,\n highlightByNodeForNodeBorderColor: null,\n highlightByNodeForNodeBorderSizingAdditional: 0,\n\n highlightByLinkForNodeColorFading: false,\n highlightByLinkForNodeColor: null,\n highlightByLinkForNodeSizingAdditional: 0.5,\n highlightByLinkForNodeSizingAdditionalCoefficient: 0.35,\n highlightByLinkForNodeColorFadingMin: 0.15,\n highlightByLinkForNodeFadingMin: 0.21,\n highlightByLinkForNodeBorderColor: null,\n highlightByLinkForNodeBorderSizingAdditional: 0,\n /** Text */\n highlightByNodeForTextShiftXAdditional: 0,\n highlightByNodeForTextShiftYAdditional: 2,\n highlightByNodeForTextSizingAdditional: 1,\n highlightByNodeForTextWeightAdditional: 0,\n highlightByNodeForTextFadingMin: 0.21,\n\n highlightByLinkForTextShiftXAdditional: 0,\n highlightByLinkForTextShiftYAdditional: 2,\n highlightByLinkForTextSizingAdditional: 1,\n highlightByLinkForTextWeightAdditional: 0,\n highlightByLinkForTextFadingMin: 0.21,\n /** Label */\n highlightByNodeForLabelFadingMin: 0.21,\n highlightByNodeForLabelSizingAdditional: 1,\n highlightByNodeForLabelWeightAdditional: 0,\n\n highlightByLinkForLabelFadingMin: 0.21,\n highlightByLinkForLabelSizingAdditional: 1,\n highlightByLinkForLabelWeightAdditional: 0,\n /** Link */\n highlightByNodeForLinkFadingMin: 0.21,\n highlightByNodeForLinkSizeAdditional: 0,\n highlightByNodeForLinkColor: null,\n\n highlightByLinkForLinkFadingMin: 0.21,\n highlightByLinkForLinkSizeAdditional: 0,\n highlightByLinkForLinkColor: null,\n /** Arrow */\n highlightByNodeForArrowFadingMin: 0.21,\n highlightByNodeForArrowSizeAdditional: 0,\n highlightByNodeForArrowColor: null,\n highlightByNodeForArrowBorderColor: null,\n highlightByNodeForArrowBorderSizingAdditional: 0,\n\n highlightByLinkForArrowFadingMin: 0.21,\n highlightByLinkForArrowSizeAdditional: 0,\n highlightByLinkForArrowColor: null,\n highlightByLinkForArrowBorderColor: null,\n highlightByLinkForArrowBorderSizingAdditional: 0,\n};\n"],"names":[],"mappings":"AAEa,MAAA,kBAAkB,GAAyC;AACtE,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,kBAAkB,EAAE,CAAC;;AAErB,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,iCAAiC,EAAE,KAAK;AACxC,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,sCAAsC,EAAE,GAAG;AAC3C,IAAA,iDAAiD,EAAE,IAAI;AACvD,IAAA,oCAAoC,EAAE,IAAI;AAC1C,IAAA,+BAA+B,EAAE,IAAI;AACrC,IAAA,iCAAiC,EAAE,IAAI;AACvC,IAAA,4CAA4C,EAAE,CAAC;AAE/C,IAAA,iCAAiC,EAAE,KAAK;AACxC,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,sCAAsC,EAAE,GAAG;AAC3C,IAAA,iDAAiD,EAAE,IAAI;AACvD,IAAA,oCAAoC,EAAE,IAAI;AAC1C,IAAA,+BAA+B,EAAE,IAAI;AACrC,IAAA,iCAAiC,EAAE,IAAI;AACvC,IAAA,4CAA4C,EAAE,CAAC;;AAE/C,IAAA,sCAAsC,EAAE,CAAC;AACzC,IAAA,sCAAsC,EAAE,CAAC;AACzC,IAAA,sCAAsC,EAAE,CAAC;AACzC,IAAA,sCAAsC,EAAE,CAAC;AACzC,IAAA,+BAA+B,EAAE,IAAI;AAErC,IAAA,sCAAsC,EAAE,CAAC;AACzC,IAAA,sCAAsC,EAAE,CAAC;AACzC,IAAA,sCAAsC,EAAE,CAAC;AACzC,IAAA,sCAAsC,EAAE,CAAC;AACzC,IAAA,+BAA+B,EAAE,IAAI;;AAErC,IAAA,gCAAgC,EAAE,IAAI;AACtC,IAAA,uCAAuC,EAAE,CAAC;AAC1C,IAAA,uCAAuC,EAAE,CAAC;AAE1C,IAAA,gCAAgC,EAAE,IAAI;AACtC,IAAA,uCAAuC,EAAE,CAAC;AAC1C,IAAA,uCAAuC,EAAE,CAAC;;AAE1C,IAAA,+BAA+B,EAAE,IAAI;AACrC,IAAA,oCAAoC,EAAE,CAAC;AACvC,IAAA,2BAA2B,EAAE,IAAI;AAEjC,IAAA,+BAA+B,EAAE,IAAI;AACrC,IAAA,oCAAoC,EAAE,CAAC;AACvC,IAAA,2BAA2B,EAAE,IAAI;;AAEjC,IAAA,gCAAgC,EAAE,IAAI;AACtC,IAAA,qCAAqC,EAAE,CAAC;AACxC,IAAA,4BAA4B,EAAE,IAAI;AAClC,IAAA,kCAAkC,EAAE,IAAI;AACxC,IAAA,6CAA6C,EAAE,CAAC;AAEhD,IAAA,gCAAgC,EAAE,IAAI;AACtC,IAAA,qCAAqC,EAAE,CAAC;AACxC,IAAA,4BAA4B,EAAE,IAAI;AAClC,IAAA,kCAAkC,EAAE,IAAI;AACxC,IAAA,6CAA6C,EAAE,CAAC;;;;;"}
1
+ {"version":3,"file":"highlight-settings.js","sources":["../../../../../src/module/GraphCanvas/constants/highlight-settings.ts"],"sourcesContent":["import type { HighlightSettingsInterface } from \"../types/highlight-settings\";\n\nexport const HIGHLIGHT_SETTINGS: Required<HighlightSettingsInterface> = {\n highlightByHoverNode: true,\n highlightByHoverLink: true,\n highlightUpFrames: 5,\n highlightDownFrames: 5,\n linkHoverExtraZone: 2,\n /** Node */\n highlightByNodeOnlyRoot: true,\n highlightByNodeForNodeColorFading: false,\n highlightByNodeForNodeColor: null,\n highlightByNodeForNodeSizingAdditional: 0.5,\n highlightByNodeForNodeSizingAdditionalCoefficient: 0.35,\n highlightByNodeForNodeFadingMin: 0.21,\n highlightByNodeForNodeBorderColor: null,\n highlightByNodeForNodeBorderSizingAdditional: 0,\n\n highlightByLinkForNodeColorFading: false,\n highlightByLinkForNodeColor: null,\n highlightByLinkForNodeSizingAdditional: 0.5,\n highlightByLinkForNodeSizingAdditionalCoefficient: 0.35,\n highlightByLinkForNodeFadingMin: 0.21,\n highlightByLinkForNodeBorderColor: null,\n highlightByLinkForNodeBorderSizingAdditional: 0,\n /** Text */\n highlightByNodeForTextShiftXAdditional: 0,\n highlightByNodeForTextShiftYAdditional: 2,\n highlightByNodeForTextSizingAdditional: 1,\n highlightByNodeForTextWeightAdditional: 0,\n highlightByNodeForTextFadingMin: 0.21,\n\n highlightByLinkForTextShiftXAdditional: 0,\n highlightByLinkForTextShiftYAdditional: 2,\n highlightByLinkForTextSizingAdditional: 1,\n highlightByLinkForTextWeightAdditional: 0,\n highlightByLinkForTextFadingMin: 0.21,\n /** Label */\n highlightByNodeForLabelFadingMin: 0.21,\n highlightByNodeForLabelSizingAdditional: 1,\n highlightByNodeForLabelWeightAdditional: 0,\n\n highlightByLinkForLabelFadingMin: 0.21,\n highlightByLinkForLabelSizingAdditional: 1,\n highlightByLinkForLabelWeightAdditional: 0,\n /** Link */\n highlightByNodeForLinkFadingMin: 0.21,\n highlightByNodeForLinkSizeAdditional: 0,\n highlightByNodeForLinkColor: null,\n\n highlightByLinkForLinkFadingMin: 0.21,\n highlightByLinkForLinkSizeAdditional: 0,\n highlightByLinkForLinkColor: null,\n /** Arrow */\n highlightByNodeForArrowFadingMin: 0.21,\n highlightByNodeForArrowSizeAdditional: 0,\n highlightByNodeForArrowColor: null,\n highlightByNodeForArrowBorderColor: null,\n highlightByNodeForArrowBorderSizingAdditional: 0,\n\n highlightByLinkForArrowFadingMin: 0.21,\n highlightByLinkForArrowSizeAdditional: 0,\n highlightByLinkForArrowColor: null,\n highlightByLinkForArrowBorderColor: null,\n highlightByLinkForArrowBorderSizingAdditional: 0,\n};\n"],"names":[],"mappings":"AAEa,MAAA,kBAAkB,GAAyC;AACtE,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,iBAAiB,EAAE,CAAC;AACpB,IAAA,mBAAmB,EAAE,CAAC;AACtB,IAAA,kBAAkB,EAAE,CAAC;;AAErB,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,iCAAiC,EAAE,KAAK;AACxC,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,sCAAsC,EAAE,GAAG;AAC3C,IAAA,iDAAiD,EAAE,IAAI;AACvD,IAAA,+BAA+B,EAAE,IAAI;AACrC,IAAA,iCAAiC,EAAE,IAAI;AACvC,IAAA,4CAA4C,EAAE,CAAC;AAE/C,IAAA,iCAAiC,EAAE,KAAK;AACxC,IAAA,2BAA2B,EAAE,IAAI;AACjC,IAAA,sCAAsC,EAAE,GAAG;AAC3C,IAAA,iDAAiD,EAAE,IAAI;AACvD,IAAA,+BAA+B,EAAE,IAAI;AACrC,IAAA,iCAAiC,EAAE,IAAI;AACvC,IAAA,4CAA4C,EAAE,CAAC;;AAE/C,IAAA,sCAAsC,EAAE,CAAC;AACzC,IAAA,sCAAsC,EAAE,CAAC;AACzC,IAAA,sCAAsC,EAAE,CAAC;AACzC,IAAA,sCAAsC,EAAE,CAAC;AACzC,IAAA,+BAA+B,EAAE,IAAI;AAErC,IAAA,sCAAsC,EAAE,CAAC;AACzC,IAAA,sCAAsC,EAAE,CAAC;AACzC,IAAA,sCAAsC,EAAE,CAAC;AACzC,IAAA,sCAAsC,EAAE,CAAC;AACzC,IAAA,+BAA+B,EAAE,IAAI;;AAErC,IAAA,gCAAgC,EAAE,IAAI;AACtC,IAAA,uCAAuC,EAAE,CAAC;AAC1C,IAAA,uCAAuC,EAAE,CAAC;AAE1C,IAAA,gCAAgC,EAAE,IAAI;AACtC,IAAA,uCAAuC,EAAE,CAAC;AAC1C,IAAA,uCAAuC,EAAE,CAAC;;AAE1C,IAAA,+BAA+B,EAAE,IAAI;AACrC,IAAA,oCAAoC,EAAE,CAAC;AACvC,IAAA,2BAA2B,EAAE,IAAI;AAEjC,IAAA,+BAA+B,EAAE,IAAI;AACrC,IAAA,oCAAoC,EAAE,CAAC;AACvC,IAAA,2BAA2B,EAAE,IAAI;;AAEjC,IAAA,gCAAgC,EAAE,IAAI;AACtC,IAAA,qCAAqC,EAAE,CAAC;AACxC,IAAA,4BAA4B,EAAE,IAAI;AAClC,IAAA,kCAAkC,EAAE,IAAI;AACxC,IAAA,6CAA6C,EAAE,CAAC;AAEhD,IAAA,gCAAgC,EAAE,IAAI;AACtC,IAAA,qCAAqC,EAAE,CAAC;AACxC,IAAA,4BAA4B,EAAE,IAAI;AAClC,IAAA,kCAAkC,EAAE,IAAI;AACxC,IAAA,6CAA6C,EAAE,CAAC;;;;;"}
@@ -98,9 +98,10 @@ function nodeFade(opts) {
98
98
  /** Color Fading */
99
99
  const colorRgb = extractRgb(colorToRgb(color));
100
100
  if (colorRgb) {
101
- const colorRgbFade = fadeRgb(colorRgb, opts.highlightForNodeColorFadingMin);
101
+ const colorRgbFade = fadeRgb(colorRgb, opts.highlightForNodeFadingMin);
102
102
  const colorFadeAnimation = rgbAnimationByProgress(colorRgb, colorRgbFade, opts.highlightProgress);
103
103
  color = `rgb(${colorFadeAnimation.r}, ${colorFadeAnimation.g}, ${colorFadeAnimation.b})`;
104
+ alpha = opts.nodeOptions.alpha;
104
105
  }
105
106
  }
106
107
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"node-highlight.js","sources":["../../../../../../src/module/GraphCanvas/lib/utils/node-highlight.ts"],"sourcesContent":["import { colorToRgb, extractRgb, fadeRgb, rgbAnimationByProgress } from \"@/lib\";\nimport type { NodeOptionsInterface } from \"../../types\";\nimport { animationByProgress } from \"./animation-by-progress\";\n\ntype NodeHighlightOptions<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n> = {\n nodeOptions: Required<NodeOptionsInterface<NodeData, LinkData>>;\n highlightProgress: number;\n highlightForNodeColor: string | null;\n highlightForNodeSizingAdditional: number;\n highlightForNodeSizingAdditionalCoefficient: number;\n highlightForNodeBorderColor: string | null;\n highlightForNodeBorderSizingAdditional: number;\n highlightForTextSizingAdditional: number;\n highlightForTextShiftXAdditional: number;\n highlightForTextShiftYAdditional: number;\n highlightForTextWeightAdditional: number;\n highlightForLabelSizingAdditional: number;\n highlightForLabelWeightAdditional: number;\n};\n\nexport function nodeHighlight<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n>(opts: NodeHighlightOptions<NodeData, LinkData>) {\n let color = opts.nodeOptions.color;\n let borderColor = opts.nodeOptions.borderColor;\n let borderWidth = opts.nodeOptions.borderWidth;\n let radiusInitial = opts.nodeOptions.radius;\n let widthInitial = opts.nodeOptions.width;\n let heightInitial = opts.nodeOptions.height;\n let textSize = opts.nodeOptions.textSize;\n let textShiftX = opts.nodeOptions.textShiftX;\n let textShiftY = opts.nodeOptions.textShiftY;\n let textWeight = opts.nodeOptions.textWeight;\n let labelSize = opts.nodeOptions.labelSize;\n let labelWeight = opts.nodeOptions.labelWeight;\n let sizeCoefficient = 1;\n\n if (opts.highlightForNodeColor) {\n /** Color */\n const colorRgb = extractRgb(colorToRgb(color));\n const colorRgbHighlight = extractRgb(colorToRgb(opts.highlightForNodeColor));\n if (colorRgb && colorRgbHighlight) {\n const colorFadeAnimation = rgbAnimationByProgress(\n colorRgb,\n colorRgbHighlight,\n opts.highlightProgress,\n );\n color = `rgb(${colorFadeAnimation.r}, ${colorFadeAnimation.g}, ${colorFadeAnimation.b})`;\n }\n }\n if (opts.nodeOptions.shape === \"circle\") {\n /** Radius */\n radiusInitial = animationByProgress(\n radiusInitial,\n opts.highlightForNodeSizingAdditional,\n opts.highlightProgress,\n );\n }\n if (opts.nodeOptions.shape === \"square\" || opts.nodeOptions.shape === \"text\") {\n /** Size */\n sizeCoefficient = animationByProgress(\n sizeCoefficient,\n opts.highlightForNodeSizingAdditionalCoefficient,\n opts.highlightProgress,\n );\n\n widthInitial *= sizeCoefficient;\n heightInitial *= sizeCoefficient;\n }\n\n if (opts.highlightForNodeBorderColor) {\n /** Border Color */\n const colorRgb = extractRgb(colorToRgb(borderColor));\n const colorRgbHighlight = extractRgb(colorToRgb(opts.highlightForNodeBorderColor));\n if (colorRgb && colorRgbHighlight) {\n const colorFadeAnimation = rgbAnimationByProgress(\n colorRgb,\n colorRgbHighlight,\n opts.highlightProgress,\n );\n borderColor = `rgb(${colorFadeAnimation.r}, ${colorFadeAnimation.g}, ${colorFadeAnimation.b})`;\n }\n }\n /** Border Width */\n borderWidth = animationByProgress(\n borderWidth,\n opts.highlightForNodeBorderSizingAdditional,\n opts.highlightProgress,\n );\n\n /** Text Size */\n textSize = animationByProgress(\n textSize,\n opts.highlightForTextSizingAdditional,\n opts.highlightProgress,\n );\n /** Text Shift X */\n textShiftX = animationByProgress(\n textShiftX,\n opts.highlightForTextShiftXAdditional,\n opts.highlightProgress,\n );\n /** Text Shift Y */\n textShiftY = animationByProgress(\n textShiftY,\n opts.highlightForTextShiftYAdditional,\n opts.highlightProgress,\n );\n /** Text Weight */\n textWeight = animationByProgress(\n textWeight,\n opts.highlightForTextWeightAdditional,\n opts.highlightProgress,\n );\n\n if (opts.nodeOptions.label) {\n /** Label Size */\n labelSize = animationByProgress(\n labelSize,\n opts.highlightForLabelSizingAdditional,\n opts.highlightProgress,\n );\n /** Label Weight */\n labelWeight = animationByProgress(\n labelWeight,\n opts.highlightForLabelWeightAdditional,\n opts.highlightProgress,\n );\n }\n\n return {\n color,\n borderColor,\n borderWidth,\n radiusInitial,\n widthInitial,\n heightInitial,\n textSize,\n textShiftX,\n textShiftY,\n textWeight,\n labelSize,\n labelWeight,\n sizeCoefficient,\n };\n}\n\ntype NodeFadingOptions<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n> = {\n nodeOptions: Required<NodeOptionsInterface<NodeData, LinkData>>;\n highlightProgress: number;\n highlightForNodeFadingMin: number;\n highlightForTextFadingMin: number;\n highlightForLabelFadingMin: number;\n highlightForNodeColorFading: boolean;\n highlightForNodeColorFadingMin: number;\n};\nexport function nodeFade<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n>(opts: NodeFadingOptions<NodeData, LinkData>) {\n let alpha = opts.nodeOptions.alpha;\n let color = opts.nodeOptions.color;\n let textAlpha = opts.nodeOptions.textAlpha;\n let labelAlpha = opts.nodeOptions.labelAlpha;\n\n /** Alpha */\n const alphaMin = opts.highlightForNodeFadingMin < alpha ? opts.highlightForNodeFadingMin : alpha;\n alpha = animationByProgress(alphaMin, alpha - alphaMin, 1 - opts.highlightProgress);\n /** Text Alpha */\n const textAlphaMin =\n opts.highlightForTextFadingMin < textAlpha ? opts.highlightForTextFadingMin : textAlpha;\n textAlpha = animationByProgress(\n textAlphaMin,\n textAlpha - textAlphaMin,\n 1 - opts.highlightProgress,\n );\n if (opts.nodeOptions.label) {\n /** Label Alpha */\n const labelAlphaMin =\n opts.highlightForLabelFadingMin < labelAlpha ? opts.highlightForLabelFadingMin : labelAlpha;\n labelAlpha = animationByProgress(\n labelAlphaMin,\n labelAlpha - labelAlphaMin,\n 1 - opts.highlightProgress,\n );\n }\n if (opts.highlightForNodeColorFading) {\n /** Color Fading */\n const colorRgb = extractRgb(colorToRgb(color));\n if (colorRgb) {\n const colorRgbFade = fadeRgb(colorRgb, opts.highlightForNodeColorFadingMin);\n const colorFadeAnimation = rgbAnimationByProgress(\n colorRgb,\n colorRgbFade,\n opts.highlightProgress,\n );\n color = `rgb(${colorFadeAnimation.r}, ${colorFadeAnimation.g}, ${colorFadeAnimation.b})`;\n }\n }\n\n return {\n alpha,\n color,\n textAlpha,\n labelAlpha,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-highlight.js","sources":["../../../../../../src/module/GraphCanvas/lib/utils/node-highlight.ts"],"sourcesContent":["import { colorToRgb, extractRgb, fadeRgb, rgbAnimationByProgress } from \"@/lib\";\nimport type { NodeOptionsInterface } from \"../../types\";\nimport { animationByProgress } from \"./animation-by-progress\";\n\ntype NodeHighlightOptions<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n> = {\n nodeOptions: Required<NodeOptionsInterface<NodeData, LinkData>>;\n highlightProgress: number;\n highlightForNodeColor: string | null;\n highlightForNodeSizingAdditional: number;\n highlightForNodeSizingAdditionalCoefficient: number;\n highlightForNodeBorderColor: string | null;\n highlightForNodeBorderSizingAdditional: number;\n highlightForTextSizingAdditional: number;\n highlightForTextShiftXAdditional: number;\n highlightForTextShiftYAdditional: number;\n highlightForTextWeightAdditional: number;\n highlightForLabelSizingAdditional: number;\n highlightForLabelWeightAdditional: number;\n};\n\nexport function nodeHighlight<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n>(opts: NodeHighlightOptions<NodeData, LinkData>) {\n let color = opts.nodeOptions.color;\n let borderColor = opts.nodeOptions.borderColor;\n let borderWidth = opts.nodeOptions.borderWidth;\n let radiusInitial = opts.nodeOptions.radius;\n let widthInitial = opts.nodeOptions.width;\n let heightInitial = opts.nodeOptions.height;\n let textSize = opts.nodeOptions.textSize;\n let textShiftX = opts.nodeOptions.textShiftX;\n let textShiftY = opts.nodeOptions.textShiftY;\n let textWeight = opts.nodeOptions.textWeight;\n let labelSize = opts.nodeOptions.labelSize;\n let labelWeight = opts.nodeOptions.labelWeight;\n let sizeCoefficient = 1;\n\n if (opts.highlightForNodeColor) {\n /** Color */\n const colorRgb = extractRgb(colorToRgb(color));\n const colorRgbHighlight = extractRgb(colorToRgb(opts.highlightForNodeColor));\n if (colorRgb && colorRgbHighlight) {\n const colorFadeAnimation = rgbAnimationByProgress(\n colorRgb,\n colorRgbHighlight,\n opts.highlightProgress,\n );\n color = `rgb(${colorFadeAnimation.r}, ${colorFadeAnimation.g}, ${colorFadeAnimation.b})`;\n }\n }\n if (opts.nodeOptions.shape === \"circle\") {\n /** Radius */\n radiusInitial = animationByProgress(\n radiusInitial,\n opts.highlightForNodeSizingAdditional,\n opts.highlightProgress,\n );\n }\n if (opts.nodeOptions.shape === \"square\" || opts.nodeOptions.shape === \"text\") {\n /** Size */\n sizeCoefficient = animationByProgress(\n sizeCoefficient,\n opts.highlightForNodeSizingAdditionalCoefficient,\n opts.highlightProgress,\n );\n\n widthInitial *= sizeCoefficient;\n heightInitial *= sizeCoefficient;\n }\n\n if (opts.highlightForNodeBorderColor) {\n /** Border Color */\n const colorRgb = extractRgb(colorToRgb(borderColor));\n const colorRgbHighlight = extractRgb(colorToRgb(opts.highlightForNodeBorderColor));\n if (colorRgb && colorRgbHighlight) {\n const colorFadeAnimation = rgbAnimationByProgress(\n colorRgb,\n colorRgbHighlight,\n opts.highlightProgress,\n );\n borderColor = `rgb(${colorFadeAnimation.r}, ${colorFadeAnimation.g}, ${colorFadeAnimation.b})`;\n }\n }\n /** Border Width */\n borderWidth = animationByProgress(\n borderWidth,\n opts.highlightForNodeBorderSizingAdditional,\n opts.highlightProgress,\n );\n\n /** Text Size */\n textSize = animationByProgress(\n textSize,\n opts.highlightForTextSizingAdditional,\n opts.highlightProgress,\n );\n /** Text Shift X */\n textShiftX = animationByProgress(\n textShiftX,\n opts.highlightForTextShiftXAdditional,\n opts.highlightProgress,\n );\n /** Text Shift Y */\n textShiftY = animationByProgress(\n textShiftY,\n opts.highlightForTextShiftYAdditional,\n opts.highlightProgress,\n );\n /** Text Weight */\n textWeight = animationByProgress(\n textWeight,\n opts.highlightForTextWeightAdditional,\n opts.highlightProgress,\n );\n\n if (opts.nodeOptions.label) {\n /** Label Size */\n labelSize = animationByProgress(\n labelSize,\n opts.highlightForLabelSizingAdditional,\n opts.highlightProgress,\n );\n /** Label Weight */\n labelWeight = animationByProgress(\n labelWeight,\n opts.highlightForLabelWeightAdditional,\n opts.highlightProgress,\n );\n }\n\n return {\n color,\n borderColor,\n borderWidth,\n radiusInitial,\n widthInitial,\n heightInitial,\n textSize,\n textShiftX,\n textShiftY,\n textWeight,\n labelSize,\n labelWeight,\n sizeCoefficient,\n };\n}\n\ntype NodeFadingOptions<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n> = {\n nodeOptions: Required<NodeOptionsInterface<NodeData, LinkData>>;\n highlightProgress: number;\n highlightForNodeFadingMin: number;\n highlightForTextFadingMin: number;\n highlightForLabelFadingMin: number;\n highlightForNodeColorFading: boolean;\n};\nexport function nodeFade<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n>(opts: NodeFadingOptions<NodeData, LinkData>) {\n let alpha = opts.nodeOptions.alpha;\n let color = opts.nodeOptions.color;\n let textAlpha = opts.nodeOptions.textAlpha;\n let labelAlpha = opts.nodeOptions.labelAlpha;\n\n /** Alpha */\n const alphaMin = opts.highlightForNodeFadingMin < alpha ? opts.highlightForNodeFadingMin : alpha;\n alpha = animationByProgress(alphaMin, alpha - alphaMin, 1 - opts.highlightProgress);\n /** Text Alpha */\n const textAlphaMin =\n opts.highlightForTextFadingMin < textAlpha ? opts.highlightForTextFadingMin : textAlpha;\n textAlpha = animationByProgress(\n textAlphaMin,\n textAlpha - textAlphaMin,\n 1 - opts.highlightProgress,\n );\n if (opts.nodeOptions.label) {\n /** Label Alpha */\n const labelAlphaMin =\n opts.highlightForLabelFadingMin < labelAlpha ? opts.highlightForLabelFadingMin : labelAlpha;\n labelAlpha = animationByProgress(\n labelAlphaMin,\n labelAlpha - labelAlphaMin,\n 1 - opts.highlightProgress,\n );\n }\n if (opts.highlightForNodeColorFading) {\n /** Color Fading */\n const colorRgb = extractRgb(colorToRgb(color));\n if (colorRgb) {\n const colorRgbFade = fadeRgb(colorRgb, opts.highlightForNodeFadingMin);\n const colorFadeAnimation = rgbAnimationByProgress(\n colorRgb,\n colorRgbFade,\n opts.highlightProgress,\n );\n color = `rgb(${colorFadeAnimation.r}, ${colorFadeAnimation.g}, ${colorFadeAnimation.b})`;\n alpha = opts.nodeOptions.alpha;\n }\n }\n\n return {\n alpha,\n color,\n textAlpha,\n labelAlpha,\n };\n}\n"],"names":[],"mappings":"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"}
@@ -59,7 +59,6 @@ function getDrawNode(nodeRenders, textRenders) {
59
59
  nodeOptions,
60
60
  highlightForLabelFadingMin: this.highlightSettings.highlightByNodeForLabelFadingMin,
61
61
  highlightForNodeColorFading: this.highlightSettings.highlightByNodeForNodeColorFading,
62
- highlightForNodeColorFadingMin: this.highlightSettings.highlightByNodeForNodeColorFadingMin,
63
62
  highlightForNodeFadingMin: this.highlightSettings.highlightByNodeForNodeFadingMin,
64
63
  highlightForTextFadingMin: this.highlightSettings.highlightByNodeForTextFadingMin,
65
64
  });
@@ -110,7 +109,6 @@ function getDrawNode(nodeRenders, textRenders) {
110
109
  nodeOptions,
111
110
  highlightForLabelFadingMin: this.highlightSettings.highlightByLinkForLabelFadingMin,
112
111
  highlightForNodeColorFading: this.highlightSettings.highlightByLinkForNodeColorFading,
113
- highlightForNodeColorFadingMin: this.highlightSettings.highlightByLinkForNodeColorFadingMin,
114
112
  highlightForNodeFadingMin: this.highlightSettings.highlightByLinkForNodeFadingMin,
115
113
  highlightForTextFadingMin: this.highlightSettings.highlightByLinkForTextFadingMin,
116
114
  });
@@ -1 +1 @@
1
- {"version":3,"file":"draw-nodes.js","sources":["../../../../../src/module/GraphCanvas/slices/draw-nodes.ts"],"sourcesContent":["import { isNumber } from \"@krainovsd/js-helpers\";\nimport type { GraphCanvas } from \"../GraphCanvas\";\nimport {\n isNodeVisible,\n nodeFade,\n nodeHighlight,\n nodeIterationExtractor,\n nodeOptionsGetter,\n nodeRadiusGetter,\n nodeSizeGetter,\n} from \"../lib\";\nimport type {\n CachedTextNodeParametersInterface,\n NodeInterface,\n NodeOptionsInterface,\n} from \"../types\";\nimport { drawText, getTextLines } from \"./draw-text\";\n\nexport function getDrawNode<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n>(nodeRenders: (() => void)[], textRenders: (() => void)[]) {\n return function drawNode(\n this: GraphCanvas<NodeData, LinkData>,\n node: NodeInterface<NodeData>,\n index: number,\n ) {\n if (!this.context || !node.x || !node.y) return;\n if (node.visible != undefined && !node.visible) return;\n\n let nodeOptions: Required<NodeOptionsInterface<NodeData, LinkData>>;\n if (this.nodeSettings.cacheOptions && this.nodeOptionsCache[node.id]) {\n nodeOptions = this.nodeOptionsCache[node.id];\n } else {\n nodeOptions = nodeIterationExtractor(\n node,\n index,\n this.nodes,\n this,\n this.nodeSettings.options ?? {},\n nodeOptionsGetter,\n );\n if (this.nodeSettings.cacheOptions) {\n this.nodeOptionsCache[node.id] = nodeOptions;\n }\n }\n\n if (nodeOptions.nodeDraw && nodeOptions.textDraw) {\n nodeRenders.push(() => {\n if (nodeOptions.nodeDraw) {\n nodeOptions.nodeDraw.bind(this)(node, nodeOptions);\n }\n });\n\n textRenders.push(() => {\n if (nodeOptions.textDraw) {\n nodeOptions.textDraw.bind(this)(node, nodeOptions);\n }\n });\n\n return;\n }\n\n let alpha = nodeOptions.alpha;\n let color = nodeOptions.color;\n let borderColor = nodeOptions.borderColor;\n let borderWidth = nodeOptions.borderWidth;\n let radiusInitial = nodeOptions.radius;\n let widthInitial = nodeOptions.width;\n let heightInitial = nodeOptions.height;\n let textAlpha = nodeOptions.textAlpha;\n let textSize = nodeOptions.textSize;\n let textShiftX = nodeOptions.textShiftX;\n let textShiftY = nodeOptions.textShiftY;\n let textWeight = nodeOptions.textWeight;\n let labelSize = nodeOptions.labelSize;\n let labelWeight = nodeOptions.labelWeight;\n let labelAlpha = nodeOptions.labelAlpha;\n /** Highlight */\n if (this.highlightedNeighbors && this.highlightedNode) {\n /** By Node Not Highlight */\n if (!this.highlightedNeighbors.has(node.id) && this.highlightedNode.id != node.id) {\n const fadingOptions = nodeFade({\n highlightProgress: this.highlightProgress,\n nodeOptions,\n highlightForLabelFadingMin: this.highlightSettings.highlightByNodeForLabelFadingMin,\n highlightForNodeColorFading: this.highlightSettings.highlightByNodeForNodeColorFading,\n highlightForNodeColorFadingMin:\n this.highlightSettings.highlightByNodeForNodeColorFadingMin,\n highlightForNodeFadingMin: this.highlightSettings.highlightByNodeForNodeFadingMin,\n highlightForTextFadingMin: this.highlightSettings.highlightByNodeForTextFadingMin,\n });\n alpha = fadingOptions.alpha;\n color = fadingOptions.color;\n textAlpha = fadingOptions.textAlpha;\n labelAlpha = fadingOptions.labelAlpha;\n } else if (\n !this.highlightSettings.highlightByNodeOnlyRoot ||\n (this.highlightSettings.highlightByNodeOnlyRoot && this.highlightedNode.id === node.id)\n ) {\n /** By Node Highlight */\n const highlightOptions = nodeHighlight({\n highlightProgress: this.highlightProgress,\n nodeOptions,\n highlightForLabelSizingAdditional:\n this.highlightSettings.highlightByNodeForLabelSizingAdditional,\n highlightForLabelWeightAdditional:\n this.highlightSettings.highlightByNodeForLabelWeightAdditional,\n highlightForNodeBorderColor: this.highlightSettings.highlightByNodeForNodeBorderColor,\n highlightForNodeBorderSizingAdditional:\n this.highlightSettings.highlightByNodeForNodeBorderSizingAdditional,\n highlightForNodeColor: this.highlightSettings.highlightByNodeForNodeColor,\n highlightForNodeSizingAdditional:\n this.highlightSettings.highlightByNodeForNodeSizingAdditional,\n highlightForNodeSizingAdditionalCoefficient:\n this.highlightSettings.highlightByNodeForNodeSizingAdditionalCoefficient,\n highlightForTextShiftXAdditional:\n this.highlightSettings.highlightByNodeForTextShiftXAdditional,\n highlightForTextShiftYAdditional:\n this.highlightSettings.highlightByNodeForTextShiftYAdditional,\n highlightForTextSizingAdditional:\n this.highlightSettings.highlightByNodeForTextSizingAdditional,\n highlightForTextWeightAdditional:\n this.highlightSettings.highlightByNodeForTextWeightAdditional,\n });\n color = highlightOptions.color;\n borderColor = highlightOptions.borderColor;\n borderWidth = highlightOptions.borderWidth;\n radiusInitial = highlightOptions.radiusInitial;\n widthInitial = highlightOptions.widthInitial;\n heightInitial = highlightOptions.heightInitial;\n textSize = highlightOptions.textSize;\n textShiftX = highlightOptions.textShiftX;\n textShiftY = highlightOptions.textShiftY;\n textWeight = highlightOptions.textWeight;\n labelSize = highlightOptions.labelSize;\n labelWeight = highlightOptions.labelWeight;\n }\n }\n if (this.highlightedNeighbors && this.highlightedLink) {\n /** By Link Not Highlight */\n if (\n !this.highlightedNeighbors.has(node.id) &&\n this.highlightedLink.source !== node &&\n this.highlightedLink.target !== node\n ) {\n const fadingOptions = nodeFade({\n highlightProgress: this.highlightProgress,\n nodeOptions,\n highlightForLabelFadingMin: this.highlightSettings.highlightByLinkForLabelFadingMin,\n highlightForNodeColorFading: this.highlightSettings.highlightByLinkForNodeColorFading,\n highlightForNodeColorFadingMin:\n this.highlightSettings.highlightByLinkForNodeColorFadingMin,\n highlightForNodeFadingMin: this.highlightSettings.highlightByLinkForNodeFadingMin,\n highlightForTextFadingMin: this.highlightSettings.highlightByLinkForTextFadingMin,\n });\n alpha = fadingOptions.alpha;\n color = fadingOptions.color;\n textAlpha = fadingOptions.textAlpha;\n labelAlpha = fadingOptions.labelAlpha;\n } else {\n /** By Link Highlight */\n\n const highlightOptions = nodeHighlight({\n highlightProgress: this.highlightProgress,\n nodeOptions,\n highlightForLabelSizingAdditional:\n this.highlightSettings.highlightByLinkForLabelSizingAdditional,\n highlightForLabelWeightAdditional:\n this.highlightSettings.highlightByLinkForLabelWeightAdditional,\n highlightForNodeBorderColor: this.highlightSettings.highlightByLinkForNodeBorderColor,\n highlightForNodeBorderSizingAdditional:\n this.highlightSettings.highlightByLinkForNodeBorderSizingAdditional,\n highlightForNodeColor: this.highlightSettings.highlightByLinkForNodeColor,\n highlightForNodeSizingAdditional:\n this.highlightSettings.highlightByLinkForNodeSizingAdditional,\n highlightForNodeSizingAdditionalCoefficient:\n this.highlightSettings.highlightByLinkForNodeSizingAdditionalCoefficient,\n highlightForTextShiftXAdditional:\n this.highlightSettings.highlightByLinkForTextShiftXAdditional,\n highlightForTextShiftYAdditional:\n this.highlightSettings.highlightByLinkForTextShiftYAdditional,\n highlightForTextSizingAdditional:\n this.highlightSettings.highlightByLinkForTextSizingAdditional,\n highlightForTextWeightAdditional:\n this.highlightSettings.highlightByLinkForTextWeightAdditional,\n });\n color = highlightOptions.color;\n borderColor = highlightOptions.borderColor;\n borderWidth = highlightOptions.borderWidth;\n radiusInitial = highlightOptions.radiusInitial;\n widthInitial = highlightOptions.widthInitial;\n heightInitial = highlightOptions.heightInitial;\n textSize = highlightOptions.textSize;\n textShiftX = highlightOptions.textShiftX;\n textShiftY = highlightOptions.textShiftY;\n textWeight = highlightOptions.textWeight;\n labelSize = highlightOptions.labelSize;\n labelWeight = highlightOptions.labelWeight;\n }\n }\n\n /** Flex radius */\n const radius =\n nodeOptions.shape === \"circle\"\n ? nodeRadiusGetter({\n radiusFlexible: this.nodeSettings.nodeRadiusFlexible,\n radiusInitial,\n radiusCoefficient: this.nodeSettings.nodeRadiusCoefficient,\n radiusFactor: this.nodeSettings.nodeRadiusFactor,\n linkCount: node.linkCount,\n })\n : radiusInitial;\n /** Flex size */\n let height: number = heightInitial;\n let width: number = widthInitial;\n if (nodeOptions.shape === \"square\") {\n const size = nodeSizeGetter({\n heightInitial,\n widthInitial,\n linkCount: node.linkCount,\n sizeCoefficient: this.nodeSettings.nodeSizeCoefficient,\n sizeFactor: this.nodeSettings.nodeSizeFactor,\n sizeFlexible: this.nodeSettings.nodeSizeFlexible,\n });\n width = size.width;\n height = size.height;\n }\n if (nodeOptions.shape === \"text\") {\n width = nodeOptions.width;\n\n const size = nodeSizeGetter({\n heightInitial,\n widthInitial: width,\n linkCount: node.linkCount,\n sizeCoefficient: this.nodeSettings.nodeSizeCoefficient,\n sizeFactor: this.nodeSettings.nodeSizeFactor,\n sizeFlexible: this.nodeSettings.nodeSizeFlexible,\n });\n\n labelSize *= size.additionalSizeCoefficient;\n }\n /** Size by text in textNode */\n if (nodeOptions.shape === \"text\" && nodeOptions.label) {\n let lines: string[];\n\n let textNodeParameters: CachedTextNodeParametersInterface;\n\n const cachedLines = this.cachedNodeLabel[node.id];\n const cachedTextNodeParameters = this.cachedTextNodeParameters[node.id];\n if (cachedLines != undefined && cachedTextNodeParameters != undefined) {\n lines = cachedLines;\n textNodeParameters = cachedTextNodeParameters;\n } else {\n const textInfo = getTextLines({\n context: this.context,\n text: nodeOptions.label,\n textAlign: nodeOptions.labelAlign,\n textColor: nodeOptions.labelColor,\n textFont: nodeOptions.labelFont,\n textSize: labelSize,\n maxWidth: nodeOptions.labelWidth,\n textStyle: nodeOptions.labelStyle,\n textWeight,\n });\n textNodeParameters = [textInfo.currentMaxSize, labelSize];\n lines = textInfo.lines;\n this.cachedNodeLabel[node.id] = lines;\n this.cachedTextNodeParameters[node.id] = textNodeParameters;\n }\n\n const textSizeCoefficient = labelSize / textNodeParameters[1];\n const maxSize = textNodeParameters[0] * textSizeCoefficient;\n\n height =\n lines.length * labelSize +\n (lines.length - 1) * nodeOptions.labelGap +\n nodeOptions.labelYPadding;\n\n width = maxSize + nodeOptions.labelXPadding;\n }\n\n /** Node parameters */\n node._radius = radius;\n node._borderWidth = borderWidth;\n node._width = width;\n node._height = height;\n node._borderRadius =\n isNumber(nodeOptions.borderRadius) && nodeOptions.borderRadius > 0\n ? Math.min(nodeOptions.borderRadius, nodeOptions.width / 2, nodeOptions.height / 2)\n : 0;\n node._shape = nodeOptions.shape ?? \"circle\";\n\n /** Node Visibility */\n if (\n !isNodeVisible({\n height: this.height,\n width: this.width,\n transform: this.areaTransform,\n node,\n })\n ) {\n node._visible = false;\n\n return;\n }\n node._visible = true;\n\n /** Node draw */\n nodeRenders.push(() => {\n if (!this.context || !node.x || !node.y) return;\n\n this.context.beginPath();\n this.context.globalAlpha = alpha;\n this.context.lineWidth = borderWidth;\n this.context.strokeStyle = borderColor;\n this.context.fillStyle = color;\n\n switch (nodeOptions.shape) {\n case \"circle\": {\n if (!node.image) {\n this.context.arc(node.x, node.y, radius, 0, 2 * Math.PI);\n this.context.fill();\n if (borderWidth > 0) {\n this.context.stroke();\n }\n } else {\n this.context.arc(node.x, node.y, radius, 0, 2 * Math.PI);\n this.context.closePath();\n this.context.save();\n this.context.clip();\n\n this.context.drawImage(\n node.image,\n node.x - radius,\n node.y - radius,\n radius * 2,\n radius * 2,\n );\n\n this.context.restore();\n if (borderWidth > 0) {\n this.context.stroke();\n }\n }\n\n if (node.label) {\n this.context.globalAlpha = labelAlpha;\n drawText({\n context: this.context,\n cachedNodeText: this.cachedNodeLabel,\n id: node.id,\n text: node.label,\n textAlign: nodeOptions.labelAlign,\n textColor: nodeOptions.labelColor,\n textFont: nodeOptions.labelFont,\n textGap: nodeOptions.labelGap,\n textSize: labelSize,\n textStyle: nodeOptions.labelStyle,\n textWeight: labelWeight,\n maxWidth: nodeOptions.labelWidth,\n x: node.x,\n y: node.y + labelSize / 3,\n });\n }\n\n break;\n }\n case \"square\": {\n if (!node.image) {\n this.context.roundRect(\n node.x - width / 2,\n node.y - height / 2,\n width,\n height,\n node._borderRadius,\n );\n this.context.fill();\n if (borderWidth > 0) {\n this.context.stroke();\n }\n } else {\n this.context.roundRect(\n node.x - width / 2,\n node.y - height / 2,\n width,\n height,\n node._borderRadius,\n );\n this.context.closePath();\n this.context.save();\n this.context.clip();\n this.context.drawImage(\n node.image,\n node.x - width / 2,\n node.y - height / 2,\n width,\n height,\n );\n this.context.restore();\n\n if (borderWidth > 0) {\n this.context.stroke();\n }\n }\n if (node.label) {\n this.context.globalAlpha = labelAlpha;\n drawText({\n context: this.context,\n cachedNodeText: this.cachedNodeLabel,\n id: node.id,\n text: node.label,\n textAlign: nodeOptions.labelAlign,\n textColor: nodeOptions.labelColor,\n textFont: nodeOptions.labelFont,\n textGap: nodeOptions.labelGap,\n textSize: labelSize,\n textStyle: nodeOptions.labelStyle,\n textWeight: labelWeight,\n maxWidth: nodeOptions.labelWidth,\n x: node.x,\n y: node.y + labelSize / 3,\n });\n }\n break;\n }\n case \"text\": {\n if (this.nodeSettings.textNodeDebug) {\n this.context.strokeRect(node.x - width / 2, node.y - height / 2, width, height);\n }\n\n const lines = this.cachedNodeLabel[node.id];\n if (nodeOptions.label && lines)\n drawText({\n id: node.id,\n cachedNodeText: this.cachedNodeLabel,\n context: this.context,\n text: nodeOptions.label,\n textAlign: nodeOptions.labelAlign,\n textColor: nodeOptions.labelColor,\n textFont: nodeOptions.labelFont,\n textSize: labelSize,\n x: node.x,\n y: node.y + textSize / 4 - (lines.length - 1) * (textSize / 2),\n maxWidth: nodeOptions.labelWidth,\n textStyle: nodeOptions.labelStyle,\n textWeight,\n textGap: nodeOptions.labelGap,\n });\n this.context.fill();\n if (borderWidth > 0) {\n this.context.stroke();\n }\n break;\n }\n default: {\n this.context.arc(node.x, node.y, radius, 0, 2 * Math.PI);\n this.context.fill();\n if (borderWidth > 0) {\n this.context.stroke();\n }\n break;\n }\n }\n });\n\n if (nodeOptions.nodeExtraDraw) {\n nodeRenders.push(() => {\n nodeOptions?.nodeExtraDraw?.bind?.(this)?.(node, {\n ...nodeOptions,\n radius,\n alpha,\n color,\n textAlpha,\n textSize,\n textShiftX,\n textShiftY,\n textWeight,\n });\n });\n }\n\n /** Text draw */\n if (nodeOptions.textVisible && nodeOptions.text) {\n textRenders.push(() => {\n if (nodeOptions.textDraw) {\n nodeOptions.textDraw.bind(this)(node, {\n ...nodeOptions,\n radius,\n alpha,\n color,\n textAlpha,\n textSize,\n textShiftX,\n textShiftY,\n textWeight,\n });\n\n return;\n }\n\n if (!this.context || !node.x || !node.y || !nodeOptions.text) return;\n this.context.beginPath();\n this.context.globalAlpha = textAlpha;\n\n let y = node.y + textShiftY;\n if (nodeOptions.shape === \"circle\") {\n y += radius;\n }\n if (nodeOptions.shape === \"square\" || nodeOptions.shape === \"text\") {\n y += height / 2;\n }\n\n drawText({\n id: node.id,\n cachedNodeText: this.cachedNodeText,\n context: this.context,\n text: nodeOptions.text,\n textAlign: nodeOptions.textAlign,\n textColor: nodeOptions.textColor,\n textFont: nodeOptions.textFont,\n textSize,\n x: node.x + textShiftX,\n y,\n maxWidth: nodeOptions.textWidth,\n textStyle: nodeOptions.textStyle,\n textWeight,\n textGap: nodeOptions.textGap,\n });\n\n if (nodeOptions.textExtraDraw) {\n nodeOptions.textExtraDraw.bind(this)(node, {\n ...nodeOptions,\n radius,\n alpha,\n color,\n textAlpha,\n textSize,\n textShiftX,\n textShiftY,\n textWeight,\n });\n }\n });\n }\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"draw-nodes.js","sources":["../../../../../src/module/GraphCanvas/slices/draw-nodes.ts"],"sourcesContent":["import { isNumber } from \"@krainovsd/js-helpers\";\nimport type { GraphCanvas } from \"../GraphCanvas\";\nimport {\n isNodeVisible,\n nodeFade,\n nodeHighlight,\n nodeIterationExtractor,\n nodeOptionsGetter,\n nodeRadiusGetter,\n nodeSizeGetter,\n} from \"../lib\";\nimport type {\n CachedTextNodeParametersInterface,\n NodeInterface,\n NodeOptionsInterface,\n} from \"../types\";\nimport { drawText, getTextLines } from \"./draw-text\";\n\nexport function getDrawNode<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n>(nodeRenders: (() => void)[], textRenders: (() => void)[]) {\n return function drawNode(\n this: GraphCanvas<NodeData, LinkData>,\n node: NodeInterface<NodeData>,\n index: number,\n ) {\n if (!this.context || !node.x || !node.y) return;\n if (node.visible != undefined && !node.visible) return;\n\n let nodeOptions: Required<NodeOptionsInterface<NodeData, LinkData>>;\n if (this.nodeSettings.cacheOptions && this.nodeOptionsCache[node.id]) {\n nodeOptions = this.nodeOptionsCache[node.id];\n } else {\n nodeOptions = nodeIterationExtractor(\n node,\n index,\n this.nodes,\n this,\n this.nodeSettings.options ?? {},\n nodeOptionsGetter,\n );\n if (this.nodeSettings.cacheOptions) {\n this.nodeOptionsCache[node.id] = nodeOptions;\n }\n }\n\n if (nodeOptions.nodeDraw && nodeOptions.textDraw) {\n nodeRenders.push(() => {\n if (nodeOptions.nodeDraw) {\n nodeOptions.nodeDraw.bind(this)(node, nodeOptions);\n }\n });\n\n textRenders.push(() => {\n if (nodeOptions.textDraw) {\n nodeOptions.textDraw.bind(this)(node, nodeOptions);\n }\n });\n\n return;\n }\n\n let alpha = nodeOptions.alpha;\n let color = nodeOptions.color;\n let borderColor = nodeOptions.borderColor;\n let borderWidth = nodeOptions.borderWidth;\n let radiusInitial = nodeOptions.radius;\n let widthInitial = nodeOptions.width;\n let heightInitial = nodeOptions.height;\n let textAlpha = nodeOptions.textAlpha;\n let textSize = nodeOptions.textSize;\n let textShiftX = nodeOptions.textShiftX;\n let textShiftY = nodeOptions.textShiftY;\n let textWeight = nodeOptions.textWeight;\n let labelSize = nodeOptions.labelSize;\n let labelWeight = nodeOptions.labelWeight;\n let labelAlpha = nodeOptions.labelAlpha;\n /** Highlight */\n if (this.highlightedNeighbors && this.highlightedNode) {\n /** By Node Not Highlight */\n if (!this.highlightedNeighbors.has(node.id) && this.highlightedNode.id != node.id) {\n const fadingOptions = nodeFade({\n highlightProgress: this.highlightProgress,\n nodeOptions,\n highlightForLabelFadingMin: this.highlightSettings.highlightByNodeForLabelFadingMin,\n highlightForNodeColorFading: this.highlightSettings.highlightByNodeForNodeColorFading,\n highlightForNodeFadingMin: this.highlightSettings.highlightByNodeForNodeFadingMin,\n highlightForTextFadingMin: this.highlightSettings.highlightByNodeForTextFadingMin,\n });\n alpha = fadingOptions.alpha;\n color = fadingOptions.color;\n textAlpha = fadingOptions.textAlpha;\n labelAlpha = fadingOptions.labelAlpha;\n } else if (\n !this.highlightSettings.highlightByNodeOnlyRoot ||\n (this.highlightSettings.highlightByNodeOnlyRoot && this.highlightedNode.id === node.id)\n ) {\n /** By Node Highlight */\n const highlightOptions = nodeHighlight({\n highlightProgress: this.highlightProgress,\n nodeOptions,\n highlightForLabelSizingAdditional:\n this.highlightSettings.highlightByNodeForLabelSizingAdditional,\n highlightForLabelWeightAdditional:\n this.highlightSettings.highlightByNodeForLabelWeightAdditional,\n highlightForNodeBorderColor: this.highlightSettings.highlightByNodeForNodeBorderColor,\n highlightForNodeBorderSizingAdditional:\n this.highlightSettings.highlightByNodeForNodeBorderSizingAdditional,\n highlightForNodeColor: this.highlightSettings.highlightByNodeForNodeColor,\n highlightForNodeSizingAdditional:\n this.highlightSettings.highlightByNodeForNodeSizingAdditional,\n highlightForNodeSizingAdditionalCoefficient:\n this.highlightSettings.highlightByNodeForNodeSizingAdditionalCoefficient,\n highlightForTextShiftXAdditional:\n this.highlightSettings.highlightByNodeForTextShiftXAdditional,\n highlightForTextShiftYAdditional:\n this.highlightSettings.highlightByNodeForTextShiftYAdditional,\n highlightForTextSizingAdditional:\n this.highlightSettings.highlightByNodeForTextSizingAdditional,\n highlightForTextWeightAdditional:\n this.highlightSettings.highlightByNodeForTextWeightAdditional,\n });\n color = highlightOptions.color;\n borderColor = highlightOptions.borderColor;\n borderWidth = highlightOptions.borderWidth;\n radiusInitial = highlightOptions.radiusInitial;\n widthInitial = highlightOptions.widthInitial;\n heightInitial = highlightOptions.heightInitial;\n textSize = highlightOptions.textSize;\n textShiftX = highlightOptions.textShiftX;\n textShiftY = highlightOptions.textShiftY;\n textWeight = highlightOptions.textWeight;\n labelSize = highlightOptions.labelSize;\n labelWeight = highlightOptions.labelWeight;\n }\n }\n if (this.highlightedNeighbors && this.highlightedLink) {\n /** By Link Not Highlight */\n if (\n !this.highlightedNeighbors.has(node.id) &&\n this.highlightedLink.source !== node &&\n this.highlightedLink.target !== node\n ) {\n const fadingOptions = nodeFade({\n highlightProgress: this.highlightProgress,\n nodeOptions,\n highlightForLabelFadingMin: this.highlightSettings.highlightByLinkForLabelFadingMin,\n highlightForNodeColorFading: this.highlightSettings.highlightByLinkForNodeColorFading,\n highlightForNodeFadingMin: this.highlightSettings.highlightByLinkForNodeFadingMin,\n highlightForTextFadingMin: this.highlightSettings.highlightByLinkForTextFadingMin,\n });\n alpha = fadingOptions.alpha;\n color = fadingOptions.color;\n textAlpha = fadingOptions.textAlpha;\n labelAlpha = fadingOptions.labelAlpha;\n } else {\n /** By Link Highlight */\n\n const highlightOptions = nodeHighlight({\n highlightProgress: this.highlightProgress,\n nodeOptions,\n highlightForLabelSizingAdditional:\n this.highlightSettings.highlightByLinkForLabelSizingAdditional,\n highlightForLabelWeightAdditional:\n this.highlightSettings.highlightByLinkForLabelWeightAdditional,\n highlightForNodeBorderColor: this.highlightSettings.highlightByLinkForNodeBorderColor,\n highlightForNodeBorderSizingAdditional:\n this.highlightSettings.highlightByLinkForNodeBorderSizingAdditional,\n highlightForNodeColor: this.highlightSettings.highlightByLinkForNodeColor,\n highlightForNodeSizingAdditional:\n this.highlightSettings.highlightByLinkForNodeSizingAdditional,\n highlightForNodeSizingAdditionalCoefficient:\n this.highlightSettings.highlightByLinkForNodeSizingAdditionalCoefficient,\n highlightForTextShiftXAdditional:\n this.highlightSettings.highlightByLinkForTextShiftXAdditional,\n highlightForTextShiftYAdditional:\n this.highlightSettings.highlightByLinkForTextShiftYAdditional,\n highlightForTextSizingAdditional:\n this.highlightSettings.highlightByLinkForTextSizingAdditional,\n highlightForTextWeightAdditional:\n this.highlightSettings.highlightByLinkForTextWeightAdditional,\n });\n color = highlightOptions.color;\n borderColor = highlightOptions.borderColor;\n borderWidth = highlightOptions.borderWidth;\n radiusInitial = highlightOptions.radiusInitial;\n widthInitial = highlightOptions.widthInitial;\n heightInitial = highlightOptions.heightInitial;\n textSize = highlightOptions.textSize;\n textShiftX = highlightOptions.textShiftX;\n textShiftY = highlightOptions.textShiftY;\n textWeight = highlightOptions.textWeight;\n labelSize = highlightOptions.labelSize;\n labelWeight = highlightOptions.labelWeight;\n }\n }\n\n /** Flex radius */\n const radius =\n nodeOptions.shape === \"circle\"\n ? nodeRadiusGetter({\n radiusFlexible: this.nodeSettings.nodeRadiusFlexible,\n radiusInitial,\n radiusCoefficient: this.nodeSettings.nodeRadiusCoefficient,\n radiusFactor: this.nodeSettings.nodeRadiusFactor,\n linkCount: node.linkCount,\n })\n : radiusInitial;\n /** Flex size */\n let height: number = heightInitial;\n let width: number = widthInitial;\n if (nodeOptions.shape === \"square\") {\n const size = nodeSizeGetter({\n heightInitial,\n widthInitial,\n linkCount: node.linkCount,\n sizeCoefficient: this.nodeSettings.nodeSizeCoefficient,\n sizeFactor: this.nodeSettings.nodeSizeFactor,\n sizeFlexible: this.nodeSettings.nodeSizeFlexible,\n });\n width = size.width;\n height = size.height;\n }\n if (nodeOptions.shape === \"text\") {\n width = nodeOptions.width;\n\n const size = nodeSizeGetter({\n heightInitial,\n widthInitial: width,\n linkCount: node.linkCount,\n sizeCoefficient: this.nodeSettings.nodeSizeCoefficient,\n sizeFactor: this.nodeSettings.nodeSizeFactor,\n sizeFlexible: this.nodeSettings.nodeSizeFlexible,\n });\n\n labelSize *= size.additionalSizeCoefficient;\n }\n /** Size by text in textNode */\n if (nodeOptions.shape === \"text\" && nodeOptions.label) {\n let lines: string[];\n\n let textNodeParameters: CachedTextNodeParametersInterface;\n\n const cachedLines = this.cachedNodeLabel[node.id];\n const cachedTextNodeParameters = this.cachedTextNodeParameters[node.id];\n if (cachedLines != undefined && cachedTextNodeParameters != undefined) {\n lines = cachedLines;\n textNodeParameters = cachedTextNodeParameters;\n } else {\n const textInfo = getTextLines({\n context: this.context,\n text: nodeOptions.label,\n textAlign: nodeOptions.labelAlign,\n textColor: nodeOptions.labelColor,\n textFont: nodeOptions.labelFont,\n textSize: labelSize,\n maxWidth: nodeOptions.labelWidth,\n textStyle: nodeOptions.labelStyle,\n textWeight,\n });\n textNodeParameters = [textInfo.currentMaxSize, labelSize];\n lines = textInfo.lines;\n this.cachedNodeLabel[node.id] = lines;\n this.cachedTextNodeParameters[node.id] = textNodeParameters;\n }\n\n const textSizeCoefficient = labelSize / textNodeParameters[1];\n const maxSize = textNodeParameters[0] * textSizeCoefficient;\n\n height =\n lines.length * labelSize +\n (lines.length - 1) * nodeOptions.labelGap +\n nodeOptions.labelYPadding;\n\n width = maxSize + nodeOptions.labelXPadding;\n }\n\n /** Node parameters */\n node._radius = radius;\n node._borderWidth = borderWidth;\n node._width = width;\n node._height = height;\n node._borderRadius =\n isNumber(nodeOptions.borderRadius) && nodeOptions.borderRadius > 0\n ? Math.min(nodeOptions.borderRadius, nodeOptions.width / 2, nodeOptions.height / 2)\n : 0;\n node._shape = nodeOptions.shape ?? \"circle\";\n\n /** Node Visibility */\n if (\n !isNodeVisible({\n height: this.height,\n width: this.width,\n transform: this.areaTransform,\n node,\n })\n ) {\n node._visible = false;\n\n return;\n }\n node._visible = true;\n\n /** Node draw */\n nodeRenders.push(() => {\n if (!this.context || !node.x || !node.y) return;\n\n this.context.beginPath();\n this.context.globalAlpha = alpha;\n this.context.lineWidth = borderWidth;\n this.context.strokeStyle = borderColor;\n this.context.fillStyle = color;\n\n switch (nodeOptions.shape) {\n case \"circle\": {\n if (!node.image) {\n this.context.arc(node.x, node.y, radius, 0, 2 * Math.PI);\n this.context.fill();\n if (borderWidth > 0) {\n this.context.stroke();\n }\n } else {\n this.context.arc(node.x, node.y, radius, 0, 2 * Math.PI);\n this.context.closePath();\n this.context.save();\n this.context.clip();\n\n this.context.drawImage(\n node.image,\n node.x - radius,\n node.y - radius,\n radius * 2,\n radius * 2,\n );\n\n this.context.restore();\n if (borderWidth > 0) {\n this.context.stroke();\n }\n }\n\n if (node.label) {\n this.context.globalAlpha = labelAlpha;\n drawText({\n context: this.context,\n cachedNodeText: this.cachedNodeLabel,\n id: node.id,\n text: node.label,\n textAlign: nodeOptions.labelAlign,\n textColor: nodeOptions.labelColor,\n textFont: nodeOptions.labelFont,\n textGap: nodeOptions.labelGap,\n textSize: labelSize,\n textStyle: nodeOptions.labelStyle,\n textWeight: labelWeight,\n maxWidth: nodeOptions.labelWidth,\n x: node.x,\n y: node.y + labelSize / 3,\n });\n }\n\n break;\n }\n case \"square\": {\n if (!node.image) {\n this.context.roundRect(\n node.x - width / 2,\n node.y - height / 2,\n width,\n height,\n node._borderRadius,\n );\n this.context.fill();\n if (borderWidth > 0) {\n this.context.stroke();\n }\n } else {\n this.context.roundRect(\n node.x - width / 2,\n node.y - height / 2,\n width,\n height,\n node._borderRadius,\n );\n this.context.closePath();\n this.context.save();\n this.context.clip();\n this.context.drawImage(\n node.image,\n node.x - width / 2,\n node.y - height / 2,\n width,\n height,\n );\n this.context.restore();\n\n if (borderWidth > 0) {\n this.context.stroke();\n }\n }\n if (node.label) {\n this.context.globalAlpha = labelAlpha;\n drawText({\n context: this.context,\n cachedNodeText: this.cachedNodeLabel,\n id: node.id,\n text: node.label,\n textAlign: nodeOptions.labelAlign,\n textColor: nodeOptions.labelColor,\n textFont: nodeOptions.labelFont,\n textGap: nodeOptions.labelGap,\n textSize: labelSize,\n textStyle: nodeOptions.labelStyle,\n textWeight: labelWeight,\n maxWidth: nodeOptions.labelWidth,\n x: node.x,\n y: node.y + labelSize / 3,\n });\n }\n break;\n }\n case \"text\": {\n if (this.nodeSettings.textNodeDebug) {\n this.context.strokeRect(node.x - width / 2, node.y - height / 2, width, height);\n }\n\n const lines = this.cachedNodeLabel[node.id];\n if (nodeOptions.label && lines)\n drawText({\n id: node.id,\n cachedNodeText: this.cachedNodeLabel,\n context: this.context,\n text: nodeOptions.label,\n textAlign: nodeOptions.labelAlign,\n textColor: nodeOptions.labelColor,\n textFont: nodeOptions.labelFont,\n textSize: labelSize,\n x: node.x,\n y: node.y + textSize / 4 - (lines.length - 1) * (textSize / 2),\n maxWidth: nodeOptions.labelWidth,\n textStyle: nodeOptions.labelStyle,\n textWeight,\n textGap: nodeOptions.labelGap,\n });\n this.context.fill();\n if (borderWidth > 0) {\n this.context.stroke();\n }\n break;\n }\n default: {\n this.context.arc(node.x, node.y, radius, 0, 2 * Math.PI);\n this.context.fill();\n if (borderWidth > 0) {\n this.context.stroke();\n }\n break;\n }\n }\n });\n\n if (nodeOptions.nodeExtraDraw) {\n nodeRenders.push(() => {\n nodeOptions?.nodeExtraDraw?.bind?.(this)?.(node, {\n ...nodeOptions,\n radius,\n alpha,\n color,\n textAlpha,\n textSize,\n textShiftX,\n textShiftY,\n textWeight,\n });\n });\n }\n\n /** Text draw */\n if (nodeOptions.textVisible && nodeOptions.text) {\n textRenders.push(() => {\n if (nodeOptions.textDraw) {\n nodeOptions.textDraw.bind(this)(node, {\n ...nodeOptions,\n radius,\n alpha,\n color,\n textAlpha,\n textSize,\n textShiftX,\n textShiftY,\n textWeight,\n });\n\n return;\n }\n\n if (!this.context || !node.x || !node.y || !nodeOptions.text) return;\n this.context.beginPath();\n this.context.globalAlpha = textAlpha;\n\n let y = node.y + textShiftY;\n if (nodeOptions.shape === \"circle\") {\n y += radius;\n }\n if (nodeOptions.shape === \"square\" || nodeOptions.shape === \"text\") {\n y += height / 2;\n }\n\n drawText({\n id: node.id,\n cachedNodeText: this.cachedNodeText,\n context: this.context,\n text: nodeOptions.text,\n textAlign: nodeOptions.textAlign,\n textColor: nodeOptions.textColor,\n textFont: nodeOptions.textFont,\n textSize,\n x: node.x + textShiftX,\n y,\n maxWidth: nodeOptions.textWidth,\n textStyle: nodeOptions.textStyle,\n textWeight,\n textGap: nodeOptions.textGap,\n });\n\n if (nodeOptions.textExtraDraw) {\n nodeOptions.textExtraDraw.bind(this)(node, {\n ...nodeOptions,\n radius,\n alpha,\n color,\n textAlpha,\n textSize,\n textShiftX,\n textShiftY,\n textWeight,\n });\n }\n });\n }\n };\n}\n"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ function initDraw() {
7
7
  function calculateHighlight() {
8
8
  this.highlightDrawing = true;
9
9
  if (!this.highlightWorking && this.highlightProgress > 0) {
10
- const highlightDownStep = 1 / this.graphSettings.highlightDownFrames;
10
+ const highlightDownStep = 1 / this.highlightSettings.highlightDownFrames;
11
11
  this.highlightProgress -= highlightDownStep;
12
12
  if (!this.simulationWorking) {
13
13
  return void requestAnimationFrame(() => this.draw());
@@ -16,7 +16,7 @@ function initDraw() {
16
16
  return;
17
17
  }
18
18
  if (this.highlightWorking && this.highlightProgress < 1) {
19
- const highlightUpStep = 1 / this.graphSettings.highlightUpFrames;
19
+ const highlightUpStep = 1 / this.highlightSettings.highlightUpFrames;
20
20
  this.highlightProgress += highlightUpStep;
21
21
  if (!this.simulationWorking) {
22
22
  return void requestAnimationFrame(() => this.draw());
@@ -1 +1 @@
1
- {"version":3,"file":"init-draw.js","sources":["../../../../../src/module/GraphCanvas/slices/init-draw.ts"],"sourcesContent":["import { setDrawTime } from \"@/lib\";\nimport type { GraphCanvas } from \"../GraphCanvas\";\nimport { getDrawLink } from \"./draw-links\";\nimport { getDrawNode } from \"./draw-nodes\";\n\nexport function initDraw<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n>(this: GraphCanvas<NodeData, LinkData>) {\n function calculateHighlight(this: GraphCanvas<NodeData, LinkData>) {\n this.highlightDrawing = true;\n\n if (!this.highlightWorking && this.highlightProgress > 0) {\n const highlightDownStep = 1 / this.graphSettings.highlightDownFrames;\n this.highlightProgress -= highlightDownStep;\n\n if (!this.simulationWorking) {\n return void requestAnimationFrame(() => this.draw());\n }\n\n if (!this.linkSettings.particles) return;\n }\n if (this.highlightWorking && this.highlightProgress < 1) {\n const highlightUpStep = 1 / this.graphSettings.highlightUpFrames;\n this.highlightProgress += highlightUpStep;\n\n if (!this.simulationWorking) {\n return void requestAnimationFrame(() => this.draw());\n }\n\n if (!this.linkSettings.particles) return;\n }\n\n if (this.linkSettings.particles && this.highlightWorking && !this.simulationWorking) {\n return void requestAnimationFrame(() => this.draw());\n }\n\n if (!this.highlightWorking && this.highlightProgress <= 0) {\n if (this.highlightedNeighbors || this.highlightedNode || this.highlightedLink) {\n this.highlightedNeighbors = null;\n this.highlightedNode = null;\n this.highlightedLink = null;\n this.particles = {};\n\n if (!this.simulationWorking) {\n return void requestAnimationFrame(() => this.draw());\n }\n }\n }\n\n this.highlightDrawing = false;\n }\n\n function draw(this: GraphCanvas<NodeData, LinkData>) {\n if (!this.context) return;\n\n if (this.listeners.onDraw) {\n this.listeners.onDraw.call(this);\n\n return;\n }\n\n this.context.save();\n this.context.clearRect(0, 0, this.width, this.height);\n this.context.translate(this.areaTransform.x, this.areaTransform.y);\n this.context.scale(this.areaTransform.k, this.areaTransform.k);\n\n const textRenders: (() => void)[] = [];\n const nodeRenders: (() => void)[] = [];\n this.nodes.forEach(getDrawNode<NodeData, LinkData>(nodeRenders, textRenders).bind(this));\n\n /** links */\n this.links.forEach(getDrawLink<NodeData, LinkData>().bind(this));\n\n /** nodes */\n\n nodeRenders.forEach((render) => render());\n textRenders.forEach((render) => render());\n\n this.context.restore();\n\n this.listeners.onDrawFinished?.call?.(this);\n\n calculateHighlight.bind(this)();\n }\n\n if (this.graphSettings.showDrawTime) {\n return setDrawTime(draw.bind(this), this.graphSettings.showDrawTimeEveryTick);\n }\n\n return draw.bind(this);\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-draw.js","sources":["../../../../../src/module/GraphCanvas/slices/init-draw.ts"],"sourcesContent":["import { setDrawTime } from \"@/lib\";\nimport type { GraphCanvas } from \"../GraphCanvas\";\nimport { getDrawLink } from \"./draw-links\";\nimport { getDrawNode } from \"./draw-nodes\";\n\nexport function initDraw<\n NodeData extends Record<string, unknown>,\n LinkData extends Record<string, unknown>,\n>(this: GraphCanvas<NodeData, LinkData>) {\n function calculateHighlight(this: GraphCanvas<NodeData, LinkData>) {\n this.highlightDrawing = true;\n\n if (!this.highlightWorking && this.highlightProgress > 0) {\n const highlightDownStep = 1 / this.highlightSettings.highlightDownFrames;\n this.highlightProgress -= highlightDownStep;\n\n if (!this.simulationWorking) {\n return void requestAnimationFrame(() => this.draw());\n }\n\n if (!this.linkSettings.particles) return;\n }\n if (this.highlightWorking && this.highlightProgress < 1) {\n const highlightUpStep = 1 / this.highlightSettings.highlightUpFrames;\n this.highlightProgress += highlightUpStep;\n\n if (!this.simulationWorking) {\n return void requestAnimationFrame(() => this.draw());\n }\n\n if (!this.linkSettings.particles) return;\n }\n\n if (this.linkSettings.particles && this.highlightWorking && !this.simulationWorking) {\n return void requestAnimationFrame(() => this.draw());\n }\n\n if (!this.highlightWorking && this.highlightProgress <= 0) {\n if (this.highlightedNeighbors || this.highlightedNode || this.highlightedLink) {\n this.highlightedNeighbors = null;\n this.highlightedNode = null;\n this.highlightedLink = null;\n this.particles = {};\n\n if (!this.simulationWorking) {\n return void requestAnimationFrame(() => this.draw());\n }\n }\n }\n\n this.highlightDrawing = false;\n }\n\n function draw(this: GraphCanvas<NodeData, LinkData>) {\n if (!this.context) return;\n\n if (this.listeners.onDraw) {\n this.listeners.onDraw.call(this);\n\n return;\n }\n\n this.context.save();\n this.context.clearRect(0, 0, this.width, this.height);\n this.context.translate(this.areaTransform.x, this.areaTransform.y);\n this.context.scale(this.areaTransform.k, this.areaTransform.k);\n\n const textRenders: (() => void)[] = [];\n const nodeRenders: (() => void)[] = [];\n this.nodes.forEach(getDrawNode<NodeData, LinkData>(nodeRenders, textRenders).bind(this));\n\n /** links */\n this.links.forEach(getDrawLink<NodeData, LinkData>().bind(this));\n\n /** nodes */\n\n nodeRenders.forEach((render) => render());\n textRenders.forEach((render) => render());\n\n this.context.restore();\n\n this.listeners.onDrawFinished?.call?.(this);\n\n calculateHighlight.bind(this)();\n }\n\n if (this.graphSettings.showDrawTime) {\n return setDrawTime(draw.bind(this), this.graphSettings.showDrawTimeEveryTick);\n }\n\n return draw.bind(this);\n}\n"],"names":[],"mappings":"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"}