@cyber-harbour/ui 1.0.81 → 1.1.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.
- package/dist/index.d.mts +49 -1
- package/dist/index.d.ts +49 -1
- package/dist/index.js +312 -312
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +262 -262
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -246,6 +246,7 @@ type Theme = {
|
|
|
246
246
|
ring: {
|
|
247
247
|
highlightFill: string;
|
|
248
248
|
selectionFill: string;
|
|
249
|
+
borderFill: string;
|
|
249
250
|
};
|
|
250
251
|
button: {
|
|
251
252
|
stroke: string;
|
|
@@ -1700,6 +1701,12 @@ interface Graph2DRef {
|
|
|
1700
1701
|
* @param padding Отступ от краев в пикселях
|
|
1701
1702
|
*/
|
|
1702
1703
|
zoomToFit: (duration?: number, padding?: number) => void;
|
|
1704
|
+
/**
|
|
1705
|
+
* Масштабує граф так, щоб виділені вузли були видимі
|
|
1706
|
+
* @param duration Тривалість анімації масштабування в мілісекундах
|
|
1707
|
+
* @param padding Відступ від країв в пікселях
|
|
1708
|
+
*/
|
|
1709
|
+
zoomToSelected: (duration?: number, padding?: number) => void;
|
|
1703
1710
|
/**
|
|
1704
1711
|
* Добавляет новые узлы и связи на график
|
|
1705
1712
|
* @param newNodes Массив новых узлов для добавления
|
|
@@ -1718,6 +1725,45 @@ interface Graph2DRef {
|
|
|
1718
1725
|
* @param nodeIds Массив идентификаторов узлов для удаления
|
|
1719
1726
|
*/
|
|
1720
1727
|
removeNodes: (nodeIds: (string | number)[]) => void;
|
|
1728
|
+
/**
|
|
1729
|
+
* Выбирает узлы на графе по их идентификаторам
|
|
1730
|
+
* @param nodeIds Массив идентификаторов узлов для выбора
|
|
1731
|
+
* @returns
|
|
1732
|
+
*/
|
|
1733
|
+
setSelectedNodes: (nodeIds: (string | number)[]) => void;
|
|
1734
|
+
/**
|
|
1735
|
+
* Знаходить і підсвічує найкоротший шлях між двома нодами
|
|
1736
|
+
* @param sourceId ID початкової ноди
|
|
1737
|
+
* @param targetId ID кінцевої ноди
|
|
1738
|
+
* @returns Кількість нод в знайденому шляху, або 0 якщо шлях не існує
|
|
1739
|
+
*/
|
|
1740
|
+
findShortestPath: (sourceId: string | number, targetId: string | number) => number;
|
|
1741
|
+
/**
|
|
1742
|
+
* Впорядковує вибрані вузли в сітці
|
|
1743
|
+
* @param nodeIds Набір ідентифікаторів вузлів для впорядкування
|
|
1744
|
+
* @param options Опції для налаштування розміщення в сітці
|
|
1745
|
+
* - spacing: відстань між вузлами (за замовчуванням 100)
|
|
1746
|
+
* - columns: кількість колонок (автоматично розраховується, якщо не вказано)
|
|
1747
|
+
*/
|
|
1748
|
+
arrangeSelectedInGrid: (nodeIds: Set<string | number>, options?: {
|
|
1749
|
+
spacing?: number;
|
|
1750
|
+
columns?: number;
|
|
1751
|
+
}) => void;
|
|
1752
|
+
/**
|
|
1753
|
+
* Впорядковує всі вузли в окремі сітки згруповані за значенням ключа
|
|
1754
|
+
* Якщо значення ключа - масив, бере перший елемент
|
|
1755
|
+
* Кожна група вузлів розміщується в окремій сітці, а самі групи теж розташовані у вигляді сітки
|
|
1756
|
+
* @param typeKey Назва ключа для групування (наприклад, 'labels', 'type')
|
|
1757
|
+
* @param options Опції для налаштування розміщення в сітці
|
|
1758
|
+
* - spacing: відстань між вузлами всередині групи (за замовчуванням 100)
|
|
1759
|
+
* - columns: кількість колонок всередині кожної групи (автоматично розраховується, якщо не вказано)
|
|
1760
|
+
* - groupSpacing: відстань між групами (за замовчуванням 200)
|
|
1761
|
+
*/
|
|
1762
|
+
arrangeNodesByTypeInGrid: (typeKey: string, options?: {
|
|
1763
|
+
spacing?: number;
|
|
1764
|
+
columns?: number;
|
|
1765
|
+
groupSpacing?: number;
|
|
1766
|
+
}) => void;
|
|
1721
1767
|
}
|
|
1722
1768
|
/**
|
|
1723
1769
|
* Интерфейс для внутреннего состояния компонента Graph2D
|
|
@@ -1738,7 +1784,7 @@ interface GraphState {
|
|
|
1738
1784
|
/** Узел, который в данный момент перетаскивается */
|
|
1739
1785
|
draggedNode: NodeObject | null;
|
|
1740
1786
|
/** Выбранный узел */
|
|
1741
|
-
|
|
1787
|
+
selectedNodeIds: Set<string | number>;
|
|
1742
1788
|
/** Индекс кнопки, над которой находится курсор */
|
|
1743
1789
|
hoveredButtonIndex: number | null;
|
|
1744
1790
|
/** Набор узлов, которые должны быть подсвечены */
|
|
@@ -1775,11 +1821,13 @@ interface Graph2DProps {
|
|
|
1775
1821
|
width: number;
|
|
1776
1822
|
height: number;
|
|
1777
1823
|
buttons?: NodeButton[];
|
|
1824
|
+
enableGrid?: boolean;
|
|
1778
1825
|
onNodeClick?: (node: NodeObject) => void;
|
|
1779
1826
|
onBackgroundClick?: () => void;
|
|
1780
1827
|
onNodeHover?: (node: NodeObject | null) => void;
|
|
1781
1828
|
onLinkHover?: (link: LinkObject | null) => void;
|
|
1782
1829
|
onLinkClick?: (link: LinkObject) => void;
|
|
1830
|
+
onChangeSelectedNodeIds?: (nodeIds: Set<string | number>) => void;
|
|
1783
1831
|
}
|
|
1784
1832
|
interface NodeButton {
|
|
1785
1833
|
img: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -246,6 +246,7 @@ type Theme = {
|
|
|
246
246
|
ring: {
|
|
247
247
|
highlightFill: string;
|
|
248
248
|
selectionFill: string;
|
|
249
|
+
borderFill: string;
|
|
249
250
|
};
|
|
250
251
|
button: {
|
|
251
252
|
stroke: string;
|
|
@@ -1700,6 +1701,12 @@ interface Graph2DRef {
|
|
|
1700
1701
|
* @param padding Отступ от краев в пикселях
|
|
1701
1702
|
*/
|
|
1702
1703
|
zoomToFit: (duration?: number, padding?: number) => void;
|
|
1704
|
+
/**
|
|
1705
|
+
* Масштабує граф так, щоб виділені вузли були видимі
|
|
1706
|
+
* @param duration Тривалість анімації масштабування в мілісекундах
|
|
1707
|
+
* @param padding Відступ від країв в пікселях
|
|
1708
|
+
*/
|
|
1709
|
+
zoomToSelected: (duration?: number, padding?: number) => void;
|
|
1703
1710
|
/**
|
|
1704
1711
|
* Добавляет новые узлы и связи на график
|
|
1705
1712
|
* @param newNodes Массив новых узлов для добавления
|
|
@@ -1718,6 +1725,45 @@ interface Graph2DRef {
|
|
|
1718
1725
|
* @param nodeIds Массив идентификаторов узлов для удаления
|
|
1719
1726
|
*/
|
|
1720
1727
|
removeNodes: (nodeIds: (string | number)[]) => void;
|
|
1728
|
+
/**
|
|
1729
|
+
* Выбирает узлы на графе по их идентификаторам
|
|
1730
|
+
* @param nodeIds Массив идентификаторов узлов для выбора
|
|
1731
|
+
* @returns
|
|
1732
|
+
*/
|
|
1733
|
+
setSelectedNodes: (nodeIds: (string | number)[]) => void;
|
|
1734
|
+
/**
|
|
1735
|
+
* Знаходить і підсвічує найкоротший шлях між двома нодами
|
|
1736
|
+
* @param sourceId ID початкової ноди
|
|
1737
|
+
* @param targetId ID кінцевої ноди
|
|
1738
|
+
* @returns Кількість нод в знайденому шляху, або 0 якщо шлях не існує
|
|
1739
|
+
*/
|
|
1740
|
+
findShortestPath: (sourceId: string | number, targetId: string | number) => number;
|
|
1741
|
+
/**
|
|
1742
|
+
* Впорядковує вибрані вузли в сітці
|
|
1743
|
+
* @param nodeIds Набір ідентифікаторів вузлів для впорядкування
|
|
1744
|
+
* @param options Опції для налаштування розміщення в сітці
|
|
1745
|
+
* - spacing: відстань між вузлами (за замовчуванням 100)
|
|
1746
|
+
* - columns: кількість колонок (автоматично розраховується, якщо не вказано)
|
|
1747
|
+
*/
|
|
1748
|
+
arrangeSelectedInGrid: (nodeIds: Set<string | number>, options?: {
|
|
1749
|
+
spacing?: number;
|
|
1750
|
+
columns?: number;
|
|
1751
|
+
}) => void;
|
|
1752
|
+
/**
|
|
1753
|
+
* Впорядковує всі вузли в окремі сітки згруповані за значенням ключа
|
|
1754
|
+
* Якщо значення ключа - масив, бере перший елемент
|
|
1755
|
+
* Кожна група вузлів розміщується в окремій сітці, а самі групи теж розташовані у вигляді сітки
|
|
1756
|
+
* @param typeKey Назва ключа для групування (наприклад, 'labels', 'type')
|
|
1757
|
+
* @param options Опції для налаштування розміщення в сітці
|
|
1758
|
+
* - spacing: відстань між вузлами всередині групи (за замовчуванням 100)
|
|
1759
|
+
* - columns: кількість колонок всередині кожної групи (автоматично розраховується, якщо не вказано)
|
|
1760
|
+
* - groupSpacing: відстань між групами (за замовчуванням 200)
|
|
1761
|
+
*/
|
|
1762
|
+
arrangeNodesByTypeInGrid: (typeKey: string, options?: {
|
|
1763
|
+
spacing?: number;
|
|
1764
|
+
columns?: number;
|
|
1765
|
+
groupSpacing?: number;
|
|
1766
|
+
}) => void;
|
|
1721
1767
|
}
|
|
1722
1768
|
/**
|
|
1723
1769
|
* Интерфейс для внутреннего состояния компонента Graph2D
|
|
@@ -1738,7 +1784,7 @@ interface GraphState {
|
|
|
1738
1784
|
/** Узел, который в данный момент перетаскивается */
|
|
1739
1785
|
draggedNode: NodeObject | null;
|
|
1740
1786
|
/** Выбранный узел */
|
|
1741
|
-
|
|
1787
|
+
selectedNodeIds: Set<string | number>;
|
|
1742
1788
|
/** Индекс кнопки, над которой находится курсор */
|
|
1743
1789
|
hoveredButtonIndex: number | null;
|
|
1744
1790
|
/** Набор узлов, которые должны быть подсвечены */
|
|
@@ -1775,11 +1821,13 @@ interface Graph2DProps {
|
|
|
1775
1821
|
width: number;
|
|
1776
1822
|
height: number;
|
|
1777
1823
|
buttons?: NodeButton[];
|
|
1824
|
+
enableGrid?: boolean;
|
|
1778
1825
|
onNodeClick?: (node: NodeObject) => void;
|
|
1779
1826
|
onBackgroundClick?: () => void;
|
|
1780
1827
|
onNodeHover?: (node: NodeObject | null) => void;
|
|
1781
1828
|
onLinkHover?: (link: LinkObject | null) => void;
|
|
1782
1829
|
onLinkClick?: (link: LinkObject) => void;
|
|
1830
|
+
onChangeSelectedNodeIds?: (nodeIds: Set<string | number>) => void;
|
|
1783
1831
|
}
|
|
1784
1832
|
interface NodeButton {
|
|
1785
1833
|
img: string;
|