@gravity-ui/querieskit 1.5.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. package/README.md +28 -0
  2. package/build/cjs/components/QueryGraph/QueryGraph.css +70 -0
  3. package/build/cjs/components/QueryGraph/QueryGraph.css.map +1 -0
  4. package/build/cjs/components/QueryGraph/QueryGraph.d.ts +4 -0
  5. package/build/cjs/components/QueryGraph/QueryGraph.js +517 -0
  6. package/build/cjs/components/QueryGraph/QueryGraph.js.map +1 -0
  7. package/build/cjs/components/QueryGraph/QueryGraph.stories.d.ts +16 -0
  8. package/build/cjs/components/QueryGraph/QueryGraph.stories.js +339 -0
  9. package/build/cjs/components/QueryGraph/QueryGraph.stories.js.map +1 -0
  10. package/build/cjs/components/QueryGraph/helpers/layout.d.ts +9 -0
  11. package/build/cjs/components/QueryGraph/helpers/layout.js +138 -0
  12. package/build/cjs/components/QueryGraph/helpers/layout.js.map +1 -0
  13. package/build/cjs/components/QueryGraph/helpers/presentation.d.ts +18 -0
  14. package/build/cjs/components/QueryGraph/helpers/presentation.js +44 -0
  15. package/build/cjs/components/QueryGraph/helpers/presentation.js.map +1 -0
  16. package/build/cjs/components/QueryGraph/i18n/dicts.d.ts +55 -0
  17. package/build/cjs/components/QueryGraph/i18n/dicts.js +14 -0
  18. package/build/cjs/components/QueryGraph/i18n/dicts.js.map +1 -0
  19. package/build/cjs/components/QueryGraph/i18n/en.json +26 -0
  20. package/build/cjs/components/QueryGraph/i18n/index.d.ts +6 -0
  21. package/build/cjs/components/QueryGraph/i18n/index.js +11 -0
  22. package/build/cjs/components/QueryGraph/i18n/index.js.map +1 -0
  23. package/build/cjs/components/QueryGraph/i18n/ru.json +26 -0
  24. package/build/cjs/components/QueryGraph/index.d.ts +2 -0
  25. package/build/cjs/components/QueryGraph/index.js +13 -0
  26. package/build/cjs/components/QueryGraph/index.js.map +1 -0
  27. package/build/cjs/components/QueryGraph/internal/QueryGraphCanvasBlock.d.ts +24 -0
  28. package/build/cjs/components/QueryGraph/internal/QueryGraphCanvasBlock.js +307 -0
  29. package/build/cjs/components/QueryGraph/internal/QueryGraphCanvasBlock.js.map +1 -0
  30. package/build/cjs/components/QueryGraph/internal/QueryGraphPopup.d.ts +5 -0
  31. package/build/cjs/components/QueryGraph/internal/QueryGraphPopup.js +242 -0
  32. package/build/cjs/components/QueryGraph/internal/QueryGraphPopup.js.map +1 -0
  33. package/build/cjs/components/QueryGraph/internal/queryGraphIcons.d.ts +12 -0
  34. package/build/cjs/components/QueryGraph/internal/queryGraphIcons.js +161 -0
  35. package/build/cjs/components/QueryGraph/internal/queryGraphIcons.js.map +1 -0
  36. package/build/cjs/components/QueryGraph/internal/useQueryGraphLayout.d.ts +22 -0
  37. package/build/cjs/components/QueryGraph/internal/useQueryGraphLayout.js +60 -0
  38. package/build/cjs/components/QueryGraph/internal/useQueryGraphLayout.js.map +1 -0
  39. package/build/cjs/components/QueryGraph/story/largeGraphData.d.ts +3 -0
  40. package/build/cjs/components/QueryGraph/story/largeGraphData.js +227 -0
  41. package/build/cjs/components/QueryGraph/story/largeGraphData.js.map +1 -0
  42. package/build/cjs/components/index.d.ts +2 -0
  43. package/build/cjs/components/index.js +9 -1
  44. package/build/cjs/components/index.js.map +1 -1
  45. package/build/cjs/helpers/buildColumnsFromKeys.d.ts +1 -1
  46. package/build/cjs/helpers/buildColumnsFromKeys.js.map +1 -1
  47. package/build/cjs/index.d.ts +1 -0
  48. package/build/cjs/index.js +11 -0
  49. package/build/cjs/index.js.map +1 -1
  50. package/build/cjs/modules/ClustersList/ClustersList.d.ts +1 -1
  51. package/build/cjs/modules/ClustersList/ClustersList.js +4 -3
  52. package/build/cjs/modules/ClustersList/ClustersList.js.map +1 -1
  53. package/build/cjs/modules/HistoryHeader/HistoryHeader.js +4 -3
  54. package/build/cjs/modules/HistoryHeader/HistoryHeader.js.map +1 -1
  55. package/build/cjs/modules/HistoryRow/HistoryRow.js +12 -7
  56. package/build/cjs/modules/HistoryRow/HistoryRow.js.map +1 -1
  57. package/build/cjs/modules/HistorySearchRow/HistorySearchRow.js +8 -5
  58. package/build/cjs/modules/HistorySearchRow/HistorySearchRow.js.map +1 -1
  59. package/build/cjs/modules/HistorySearchRow/helpers/resolveMonacoLanguage.d.ts +1 -1
  60. package/build/cjs/modules/HistorySearchRow/helpers/resolveMonacoLanguage.js +5 -5
  61. package/build/cjs/modules/HistorySearchRow/helpers/resolveMonacoLanguage.js.map +1 -1
  62. package/build/cjs/modules/NavigationDetail/NavigationDetail.d.ts +1 -1
  63. package/build/cjs/modules/NavigationDetail/NavigationDetail.js +2 -2
  64. package/build/cjs/modules/NavigationDetail/NavigationDetail.js.map +1 -1
  65. package/build/cjs/modules/NavigationHeader/NavigationHeader.d.ts +1 -1
  66. package/build/cjs/modules/NavigationHeader/NavigationHeader.js +2 -2
  67. package/build/cjs/modules/NavigationHeader/NavigationHeader.js.map +1 -1
  68. package/build/cjs/modules/NavigationItemsList/NavigationItemsList.d.ts +1 -1
  69. package/build/cjs/modules/NavigationItemsList/NavigationItemsList.js +4 -3
  70. package/build/cjs/modules/NavigationItemsList/NavigationItemsList.js.map +1 -1
  71. package/build/cjs/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.d.ts +1 -1
  72. package/build/cjs/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.js +2 -2
  73. package/build/cjs/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.js.map +1 -1
  74. package/build/cjs/modules/NavigationMeta/NavigationMeta.js +4 -3
  75. package/build/cjs/modules/NavigationMeta/NavigationMeta.js.map +1 -1
  76. package/build/cjs/modules/NavigationMeta/i18n/index.d.ts +2 -2
  77. package/build/cjs/modules/NavigationPreview/NavigationPreview.d.ts +1 -1
  78. package/build/cjs/modules/NavigationPreview/NavigationPreview.js +6 -4
  79. package/build/cjs/modules/NavigationPreview/NavigationPreview.js.map +1 -1
  80. package/build/cjs/modules/NavigationPreview/helpers/buildPreviewColumns.d.ts +1 -1
  81. package/build/cjs/modules/NavigationPreview/helpers/buildPreviewColumns.js.map +1 -1
  82. package/build/cjs/modules/NavigationSchema/NavigationSchema.d.ts +1 -1
  83. package/build/cjs/modules/NavigationSchema/NavigationSchema.js +4 -3
  84. package/build/cjs/modules/NavigationSchema/NavigationSchema.js.map +1 -1
  85. package/build/cjs/modules/NavigationSchema/helpers/buildSchemaColumns.d.ts +1 -1
  86. package/build/cjs/modules/NavigationSchema/helpers/buildSchemaColumns.js.map +1 -1
  87. package/build/cjs/modules/NavigationView/NavigationView.d.ts +1 -1
  88. package/build/cjs/modules/NavigationView/NavigationView.js +4 -3
  89. package/build/cjs/modules/NavigationView/NavigationView.js.map +1 -1
  90. package/build/cjs/modules/NavigationView/helpers/buildViewColumns.d.ts +1 -1
  91. package/build/cjs/modules/NavigationView/helpers/buildViewColumns.js.map +1 -1
  92. package/build/cjs/modules/NavigationView/internal/NavigationViewSectionItem.d.ts +1 -1
  93. package/build/cjs/modules/NavigationView/internal/NavigationViewSectionItem.js +4 -3
  94. package/build/cjs/modules/NavigationView/internal/NavigationViewSectionItem.js.map +1 -1
  95. package/build/cjs/modules/QueriesList/QueriesList.js +2 -2
  96. package/build/cjs/modules/QueriesList/QueriesList.js.map +1 -1
  97. package/build/cjs/modules/QueryProgress/QueryProgress.css +64 -0
  98. package/build/cjs/modules/QueryProgress/QueryProgress.css.map +1 -0
  99. package/build/cjs/modules/QueryProgress/QueryProgress.d.ts +4 -0
  100. package/build/cjs/modules/QueryProgress/QueryProgress.js +135 -0
  101. package/build/cjs/modules/QueryProgress/QueryProgress.js.map +1 -0
  102. package/build/cjs/modules/QueryProgress/QueryProgress.stories.d.ts +7 -0
  103. package/build/cjs/modules/QueryProgress/QueryProgress.stories.js +38 -0
  104. package/build/cjs/modules/QueryProgress/QueryProgress.stories.js.map +1 -0
  105. package/build/cjs/modules/QueryProgress/i18n/dicts.d.ts +25 -0
  106. package/build/cjs/modules/QueryProgress/i18n/dicts.js +14 -0
  107. package/build/cjs/modules/QueryProgress/i18n/dicts.js.map +1 -0
  108. package/build/cjs/modules/QueryProgress/i18n/en.json +11 -0
  109. package/build/cjs/modules/QueryProgress/i18n/index.d.ts +6 -0
  110. package/build/cjs/modules/QueryProgress/i18n/index.js +11 -0
  111. package/build/cjs/modules/QueryProgress/i18n/index.js.map +1 -0
  112. package/build/cjs/modules/QueryProgress/i18n/ru.json +11 -0
  113. package/build/cjs/modules/QueryProgress/index.d.ts +2 -0
  114. package/build/cjs/modules/QueryProgress/index.js +13 -0
  115. package/build/cjs/modules/QueryProgress/index.js.map +1 -0
  116. package/build/cjs/modules/QueryStatistics/i18n/index.d.ts +2 -2
  117. package/build/cjs/modules/RowsList/RowsList.js +4 -3
  118. package/build/cjs/modules/RowsList/RowsList.js.map +1 -1
  119. package/build/cjs/modules/SavedQueryRow/SavedQueryRow.d.ts +2 -2
  120. package/build/cjs/modules/SavedQueryRow/SavedQueryRow.js +6 -4
  121. package/build/cjs/modules/SavedQueryRow/SavedQueryRow.js.map +1 -1
  122. package/build/cjs/modules/SavedQuerySearchRow/SavedQuerySearchRow.d.ts +2 -2
  123. package/build/cjs/modules/SavedQuerySearchRow/SavedQuerySearchRow.js +4 -3
  124. package/build/cjs/modules/SavedQuerySearchRow/SavedQuerySearchRow.js.map +1 -1
  125. package/build/cjs/modules/TutorialRow/TutorialRow.d.ts +1 -1
  126. package/build/cjs/modules/TutorialRow/TutorialRow.js +2 -2
  127. package/build/cjs/modules/TutorialRow/TutorialRow.js.map +1 -1
  128. package/build/cjs/modules/TutorialSearchRow/TutorialSearchRow.d.ts +1 -1
  129. package/build/cjs/modules/TutorialSearchRow/TutorialSearchRow.js +4 -3
  130. package/build/cjs/modules/TutorialSearchRow/TutorialSearchRow.js.map +1 -1
  131. package/build/cjs/modules/index.d.ts +2 -0
  132. package/build/cjs/modules/index.js +8 -0
  133. package/build/cjs/modules/index.js.map +1 -1
  134. package/build/cjs/types/queryGraph.d.ts +87 -0
  135. package/build/cjs/types/queryGraph.js +6 -0
  136. package/build/cjs/types/queryGraph.js.map +1 -0
  137. package/build/cjs/widgets/DashboardCharts/DashboardCharts.js +8 -6
  138. package/build/cjs/widgets/DashboardCharts/DashboardCharts.js.map +1 -1
  139. package/build/cjs/widgets/DashboardCharts/types.d.ts +3 -3
  140. package/build/cjs/widgets/DashboardCharts/types.js.map +1 -1
  141. package/build/cjs/widgets/QueriesHistory/QueriesHistory.js +2 -2
  142. package/build/cjs/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
  143. package/build/cjs/widgets/QueriesHistory/internal/HistoryRowContent.js +6 -5
  144. package/build/cjs/widgets/QueriesHistory/internal/HistoryRowContent.js.map +1 -1
  145. package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.d.ts +1 -1
  146. package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.js +13 -9
  147. package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.js.map +1 -1
  148. package/build/cjs/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.js +2 -2
  149. package/build/cjs/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.js.map +1 -1
  150. package/build/cjs/widgets/QueriesNavigation/helpers/createTableDetailConfig.js +8 -5
  151. package/build/cjs/widgets/QueriesNavigation/helpers/createTableDetailConfig.js.map +1 -1
  152. package/build/cjs/widgets/QueryResults/QueryResults.js +2 -2
  153. package/build/cjs/widgets/QueryResults/QueryResults.js.map +1 -1
  154. package/build/cjs/widgets/QueryResults/i18n/index.d.ts +2 -2
  155. package/build/cjs/widgets/QueryResults/internal/QueryResultsSchema.js +4 -3
  156. package/build/cjs/widgets/QueryResults/internal/QueryResultsSchema.js.map +1 -1
  157. package/build/cjs/widgets/SavedQueries/SavedQueries.d.ts +2 -2
  158. package/build/cjs/widgets/SavedQueries/SavedQueries.js +2 -2
  159. package/build/cjs/widgets/SavedQueries/SavedQueries.js.map +1 -1
  160. package/build/cjs/widgets/SavedQueries/SavedQueryRowContent.d.ts +2 -2
  161. package/build/cjs/widgets/SavedQueries/SavedQueryRowContent.js +6 -5
  162. package/build/cjs/widgets/SavedQueries/SavedQueryRowContent.js.map +1 -1
  163. package/build/cjs/widgets/TutorialsHistory/TutorialRowContent.d.ts +2 -2
  164. package/build/cjs/widgets/TutorialsHistory/TutorialRowContent.js +6 -5
  165. package/build/cjs/widgets/TutorialsHistory/TutorialRowContent.js.map +1 -1
  166. package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.d.ts +2 -2
  167. package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.js +6 -4
  168. package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.js.map +1 -1
  169. package/build/esm/components/QueryGraph/QueryGraph.css +70 -0
  170. package/build/esm/components/QueryGraph/QueryGraph.css.map +1 -0
  171. package/build/esm/components/QueryGraph/QueryGraph.d.ts +4 -0
  172. package/build/esm/components/QueryGraph/QueryGraph.js +510 -0
  173. package/build/esm/components/QueryGraph/QueryGraph.js.map +1 -0
  174. package/build/esm/components/QueryGraph/QueryGraph.scss +81 -0
  175. package/build/esm/components/QueryGraph/QueryGraph.stories.d.ts +16 -0
  176. package/build/esm/components/QueryGraph/QueryGraph.stories.js +331 -0
  177. package/build/esm/components/QueryGraph/QueryGraph.stories.js.map +1 -0
  178. package/build/esm/components/QueryGraph/helpers/layout.d.ts +9 -0
  179. package/build/esm/components/QueryGraph/helpers/layout.js +128 -0
  180. package/build/esm/components/QueryGraph/helpers/layout.js.map +1 -0
  181. package/build/esm/components/QueryGraph/helpers/presentation.d.ts +18 -0
  182. package/build/esm/components/QueryGraph/helpers/presentation.js +35 -0
  183. package/build/esm/components/QueryGraph/helpers/presentation.js.map +1 -0
  184. package/build/esm/components/QueryGraph/i18n/dicts.d.ts +55 -0
  185. package/build/esm/components/QueryGraph/i18n/dicts.js +7 -0
  186. package/build/esm/components/QueryGraph/i18n/dicts.js.map +1 -0
  187. package/build/esm/components/QueryGraph/i18n/en.json +26 -0
  188. package/build/esm/components/QueryGraph/i18n/index.d.ts +6 -0
  189. package/build/esm/components/QueryGraph/i18n/index.js +4 -0
  190. package/build/esm/components/QueryGraph/i18n/index.js.map +1 -0
  191. package/build/esm/components/QueryGraph/i18n/ru.json +26 -0
  192. package/build/esm/components/QueryGraph/index.d.ts +2 -0
  193. package/build/esm/components/QueryGraph/index.js +2 -0
  194. package/build/esm/components/QueryGraph/index.js.map +1 -0
  195. package/build/esm/components/QueryGraph/internal/QueryGraphCanvasBlock.d.ts +24 -0
  196. package/build/esm/components/QueryGraph/internal/QueryGraphCanvasBlock.js +299 -0
  197. package/build/esm/components/QueryGraph/internal/QueryGraphCanvasBlock.js.map +1 -0
  198. package/build/esm/components/QueryGraph/internal/QueryGraphPopup.d.ts +5 -0
  199. package/build/esm/components/QueryGraph/internal/QueryGraphPopup.js +234 -0
  200. package/build/esm/components/QueryGraph/internal/QueryGraphPopup.js.map +1 -0
  201. package/build/esm/components/QueryGraph/internal/queryGraphIcons.d.ts +12 -0
  202. package/build/esm/components/QueryGraph/internal/queryGraphIcons.js +150 -0
  203. package/build/esm/components/QueryGraph/internal/queryGraphIcons.js.map +1 -0
  204. package/build/esm/components/QueryGraph/internal/useQueryGraphLayout.d.ts +22 -0
  205. package/build/esm/components/QueryGraph/internal/useQueryGraphLayout.js +53 -0
  206. package/build/esm/components/QueryGraph/internal/useQueryGraphLayout.js.map +1 -0
  207. package/build/esm/components/QueryGraph/story/largeGraphData.d.ts +3 -0
  208. package/build/esm/components/QueryGraph/story/largeGraphData.js +220 -0
  209. package/build/esm/components/QueryGraph/story/largeGraphData.js.map +1 -0
  210. package/build/esm/components/index.d.ts +2 -0
  211. package/build/esm/components/index.js +1 -0
  212. package/build/esm/components/index.js.map +1 -1
  213. package/build/esm/helpers/buildColumnsFromKeys.d.ts +1 -1
  214. package/build/esm/helpers/buildColumnsFromKeys.js.map +1 -1
  215. package/build/esm/index.d.ts +1 -0
  216. package/build/esm/index.js +1 -0
  217. package/build/esm/index.js.map +1 -1
  218. package/build/esm/modules/ClustersList/ClustersList.d.ts +1 -1
  219. package/build/esm/modules/ClustersList/ClustersList.js +2 -1
  220. package/build/esm/modules/ClustersList/ClustersList.js.map +1 -1
  221. package/build/esm/modules/HistoryHeader/HistoryHeader.js +2 -1
  222. package/build/esm/modules/HistoryHeader/HistoryHeader.js.map +1 -1
  223. package/build/esm/modules/HistoryRow/HistoryRow.js +6 -1
  224. package/build/esm/modules/HistoryRow/HistoryRow.js.map +1 -1
  225. package/build/esm/modules/HistorySearchRow/HistorySearchRow.js +4 -1
  226. package/build/esm/modules/HistorySearchRow/HistorySearchRow.js.map +1 -1
  227. package/build/esm/modules/HistorySearchRow/helpers/resolveMonacoLanguage.d.ts +1 -1
  228. package/build/esm/modules/HistorySearchRow/helpers/resolveMonacoLanguage.js +1 -1
  229. package/build/esm/modules/HistorySearchRow/helpers/resolveMonacoLanguage.js.map +1 -1
  230. package/build/esm/modules/NavigationDetail/NavigationDetail.d.ts +1 -1
  231. package/build/esm/modules/NavigationDetail/NavigationDetail.js +1 -1
  232. package/build/esm/modules/NavigationDetail/NavigationDetail.js.map +1 -1
  233. package/build/esm/modules/NavigationHeader/NavigationHeader.d.ts +1 -1
  234. package/build/esm/modules/NavigationHeader/NavigationHeader.js +1 -1
  235. package/build/esm/modules/NavigationHeader/NavigationHeader.js.map +1 -1
  236. package/build/esm/modules/NavigationItemsList/NavigationItemsList.d.ts +1 -1
  237. package/build/esm/modules/NavigationItemsList/NavigationItemsList.js +2 -1
  238. package/build/esm/modules/NavigationItemsList/NavigationItemsList.js.map +1 -1
  239. package/build/esm/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.d.ts +1 -1
  240. package/build/esm/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.js +1 -1
  241. package/build/esm/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.js.map +1 -1
  242. package/build/esm/modules/NavigationMeta/NavigationMeta.js +2 -1
  243. package/build/esm/modules/NavigationMeta/NavigationMeta.js.map +1 -1
  244. package/build/esm/modules/NavigationMeta/i18n/index.d.ts +2 -2
  245. package/build/esm/modules/NavigationPreview/NavigationPreview.d.ts +1 -1
  246. package/build/esm/modules/NavigationPreview/NavigationPreview.js +3 -1
  247. package/build/esm/modules/NavigationPreview/NavigationPreview.js.map +1 -1
  248. package/build/esm/modules/NavigationPreview/helpers/buildPreviewColumns.d.ts +1 -1
  249. package/build/esm/modules/NavigationPreview/helpers/buildPreviewColumns.js.map +1 -1
  250. package/build/esm/modules/NavigationSchema/NavigationSchema.d.ts +1 -1
  251. package/build/esm/modules/NavigationSchema/NavigationSchema.js +2 -1
  252. package/build/esm/modules/NavigationSchema/NavigationSchema.js.map +1 -1
  253. package/build/esm/modules/NavigationSchema/helpers/buildSchemaColumns.d.ts +1 -1
  254. package/build/esm/modules/NavigationSchema/helpers/buildSchemaColumns.js.map +1 -1
  255. package/build/esm/modules/NavigationView/NavigationView.d.ts +1 -1
  256. package/build/esm/modules/NavigationView/NavigationView.js +2 -1
  257. package/build/esm/modules/NavigationView/NavigationView.js.map +1 -1
  258. package/build/esm/modules/NavigationView/helpers/buildViewColumns.d.ts +1 -1
  259. package/build/esm/modules/NavigationView/helpers/buildViewColumns.js.map +1 -1
  260. package/build/esm/modules/NavigationView/internal/NavigationViewSectionItem.d.ts +1 -1
  261. package/build/esm/modules/NavigationView/internal/NavigationViewSectionItem.js +2 -1
  262. package/build/esm/modules/NavigationView/internal/NavigationViewSectionItem.js.map +1 -1
  263. package/build/esm/modules/QueriesList/QueriesList.js +1 -1
  264. package/build/esm/modules/QueriesList/QueriesList.js.map +1 -1
  265. package/build/esm/modules/QueryProgress/QueryProgress.css +64 -0
  266. package/build/esm/modules/QueryProgress/QueryProgress.css.map +1 -0
  267. package/build/esm/modules/QueryProgress/QueryProgress.d.ts +4 -0
  268. package/build/esm/modules/QueryProgress/QueryProgress.js +127 -0
  269. package/build/esm/modules/QueryProgress/QueryProgress.js.map +1 -0
  270. package/build/esm/modules/QueryProgress/QueryProgress.scss +72 -0
  271. package/build/esm/modules/QueryProgress/QueryProgress.stories.d.ts +7 -0
  272. package/build/esm/modules/QueryProgress/QueryProgress.stories.js +31 -0
  273. package/build/esm/modules/QueryProgress/QueryProgress.stories.js.map +1 -0
  274. package/build/esm/modules/QueryProgress/i18n/dicts.d.ts +25 -0
  275. package/build/esm/modules/QueryProgress/i18n/dicts.js +7 -0
  276. package/build/esm/modules/QueryProgress/i18n/dicts.js.map +1 -0
  277. package/build/esm/modules/QueryProgress/i18n/en.json +11 -0
  278. package/build/esm/modules/QueryProgress/i18n/index.d.ts +6 -0
  279. package/build/esm/modules/QueryProgress/i18n/index.js +4 -0
  280. package/build/esm/modules/QueryProgress/i18n/index.js.map +1 -0
  281. package/build/esm/modules/QueryProgress/i18n/ru.json +11 -0
  282. package/build/esm/modules/QueryProgress/index.d.ts +2 -0
  283. package/build/esm/modules/QueryProgress/index.js +2 -0
  284. package/build/esm/modules/QueryProgress/index.js.map +1 -0
  285. package/build/esm/modules/QueryStatistics/i18n/index.d.ts +2 -2
  286. package/build/esm/modules/RowsList/RowsList.js +2 -1
  287. package/build/esm/modules/RowsList/RowsList.js.map +1 -1
  288. package/build/esm/modules/SavedQueryRow/SavedQueryRow.d.ts +2 -2
  289. package/build/esm/modules/SavedQueryRow/SavedQueryRow.js +3 -1
  290. package/build/esm/modules/SavedQueryRow/SavedQueryRow.js.map +1 -1
  291. package/build/esm/modules/SavedQuerySearchRow/SavedQuerySearchRow.d.ts +2 -2
  292. package/build/esm/modules/SavedQuerySearchRow/SavedQuerySearchRow.js +2 -1
  293. package/build/esm/modules/SavedQuerySearchRow/SavedQuerySearchRow.js.map +1 -1
  294. package/build/esm/modules/TutorialRow/TutorialRow.d.ts +1 -1
  295. package/build/esm/modules/TutorialRow/TutorialRow.js +1 -1
  296. package/build/esm/modules/TutorialRow/TutorialRow.js.map +1 -1
  297. package/build/esm/modules/TutorialSearchRow/TutorialSearchRow.d.ts +1 -1
  298. package/build/esm/modules/TutorialSearchRow/TutorialSearchRow.js +2 -1
  299. package/build/esm/modules/TutorialSearchRow/TutorialSearchRow.js.map +1 -1
  300. package/build/esm/modules/index.d.ts +2 -0
  301. package/build/esm/modules/index.js +1 -0
  302. package/build/esm/modules/index.js.map +1 -1
  303. package/build/esm/types/queryGraph.d.ts +87 -0
  304. package/build/esm/types/queryGraph.js +2 -0
  305. package/build/esm/types/queryGraph.js.map +1 -0
  306. package/build/esm/widgets/DashboardCharts/DashboardCharts.js +4 -2
  307. package/build/esm/widgets/DashboardCharts/DashboardCharts.js.map +1 -1
  308. package/build/esm/widgets/DashboardCharts/types.d.ts +3 -3
  309. package/build/esm/widgets/DashboardCharts/types.js.map +1 -1
  310. package/build/esm/widgets/QueriesHistory/QueriesHistory.js +1 -1
  311. package/build/esm/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
  312. package/build/esm/widgets/QueriesHistory/internal/HistoryRowContent.js +3 -2
  313. package/build/esm/widgets/QueriesHistory/internal/HistoryRowContent.js.map +1 -1
  314. package/build/esm/widgets/QueriesNavigation/QueriesNavigation.d.ts +1 -1
  315. package/build/esm/widgets/QueriesNavigation/QueriesNavigation.js +6 -2
  316. package/build/esm/widgets/QueriesNavigation/QueriesNavigation.js.map +1 -1
  317. package/build/esm/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.js +1 -1
  318. package/build/esm/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.js.map +1 -1
  319. package/build/esm/widgets/QueriesNavigation/helpers/createTableDetailConfig.js +4 -1
  320. package/build/esm/widgets/QueriesNavigation/helpers/createTableDetailConfig.js.map +1 -1
  321. package/build/esm/widgets/QueryResults/QueryResults.js +1 -1
  322. package/build/esm/widgets/QueryResults/QueryResults.js.map +1 -1
  323. package/build/esm/widgets/QueryResults/i18n/index.d.ts +2 -2
  324. package/build/esm/widgets/QueryResults/internal/QueryResultsSchema.js +2 -1
  325. package/build/esm/widgets/QueryResults/internal/QueryResultsSchema.js.map +1 -1
  326. package/build/esm/widgets/SavedQueries/SavedQueries.d.ts +2 -2
  327. package/build/esm/widgets/SavedQueries/SavedQueries.js +1 -1
  328. package/build/esm/widgets/SavedQueries/SavedQueries.js.map +1 -1
  329. package/build/esm/widgets/SavedQueries/SavedQueryRowContent.d.ts +2 -2
  330. package/build/esm/widgets/SavedQueries/SavedQueryRowContent.js +3 -2
  331. package/build/esm/widgets/SavedQueries/SavedQueryRowContent.js.map +1 -1
  332. package/build/esm/widgets/TutorialsHistory/TutorialRowContent.d.ts +2 -2
  333. package/build/esm/widgets/TutorialsHistory/TutorialRowContent.js +3 -2
  334. package/build/esm/widgets/TutorialsHistory/TutorialRowContent.js.map +1 -1
  335. package/build/esm/widgets/TutorialsHistory/TutorialsHistory.d.ts +2 -2
  336. package/build/esm/widgets/TutorialsHistory/TutorialsHistory.js +3 -1
  337. package/build/esm/widgets/TutorialsHistory/TutorialsHistory.js.map +1 -1
  338. package/package.json +84 -5
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_graph","_react2","_icons","_uikit","_bemCnLite","_interopRequireDefault","_layout","_i18n","_QueryGraphCanvasBlock","_QueryGraphPopup","_queryGraphIcons","_useQueryGraphLayout2","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","block","cn","FIT_PADDING","ZOOM_STEP","renderEmptyBlock","_jsx","React","Fragment","QueryGraph","_ref","nodes","edges","loading","errorContent","className","_ref$autoCenter","autoCenter","_ref$active","active","_ref$largeGraphThresh","largeGraphThreshold","renderNodePopup","onNodeClick","onError","_useState","useState","_useState2","_slicedToArray","showLargeGraph","setShowLargeGraph","nodesRef","useRef","edgesRef","current","structureKey","useMemo","concat","map","_ref2","id","kind","join","_ref3","source","target","validationError","validateQueryGraph","undefined","nextError","Error","useEffect","shouldConfirm","length","State","children","Loader","size","Text","color","message","i18n","_jsxs","count","Button","view","onClick","QueryGraphWithLayout","_ref4","_useState3","_useState4","popup","setPopup","rootRef","layoutBlocks","node","_objectSpread","getQueryGraphNodeSize","layoutConnections","edge","sourceBlockId","targetBlockId","_useQueryGraphLayout","useQueryGraphLayout","blocks","connections","result","resolvedStructureKey","isInitialLoading","error","graphBlocks","flatMap","position","_getQueryGraphNodeIco","getQueryGraphNodeIconSvgs","iconSvg","fallbackIconSvg","iconColorToken","fallbackIconColorToken","is","name","selected","anchors","meta","graphConnections","createQueryGraphConnections","QueryGraphRenderer","ref","forwardRef","QueryGraphRendererComponent","_ref5","forwardedRef","useImperativeHandle","attachedRef","centeredRef","previousActiveRef","previousStructureRef","_useState5","_useState6","attached","setAttached","_useState7","_useState8","hoveredNodeId","setHoveredNodeId","themeValue","useThemeValue","_useGraph","useGraph","settings","connection","BezierMultipointConnection","canDrag","ECanDrag","NONE","canDragCamera","canZoomCamera","canCreateNewConnections","useBezierConnections","bezierConnectionDirection","showConnectionArrows","useBlocksAnchors","blockComponents","QueryGraphCanvasBlock","graph","api","setEntities","start","stop","_useState9","cameraService","getCameraState","scale","_useState0","setScale","_graph$cameraService$","scaleMin","scaleMax","useGraphEvent","_ref6","nextScale","_ref7","_state$meta","state","_ref8","_state$meta2","background","getComputedStyle","getPropertyValue","trim","colors","getGraphColors","updateGraphColors","canvas","belowLayerBackground","layerBackground","border","dots","visibleConnections","Boolean","changed","becameActive","frame","requestAnimationFrame","zoomToViewPort","padding","cancelAnimationFrame","handleClick","_ref9","_state$meta3","sourceEvent","mouseEvent","rect","getBoundingClientRect","left","Math","min","max","clientX","width","top","clientY","height","nodeId","selectedNode","find","defaultContent","QueryGraphPopup","popupContent","GraphCanvas","click","renderBlock","onStateChanged","_ref0","GraphState","ATTACHED","Tooltip","content","placement","pin","disabled","changeZoom","Icon","data","MagnifierPlus","SquareDashed","MagnifierMinus","style","delta","camera","zoom","_ref1"],"sources":["QueryGraph.tsx"],"sourcesContent":["import React, {useEffect, useImperativeHandle, useMemo, useRef, useState} from 'react';\nimport {\n BezierMultipointConnection,\n ECanDrag,\n GraphState,\n type TMultipointConnection,\n} from '@gravity-ui/graph';\nimport {GraphCanvas, useGraph, useGraphEvent} from '@gravity-ui/graph/react';\nimport {MagnifierMinus, MagnifierPlus, SquareDashed} from '@gravity-ui/icons';\nimport {Button, Icon, Loader, Text, Tooltip, useThemeValue} from '@gravity-ui/uikit';\nimport cn from 'bem-cn-lite';\n\nimport type {QueryGraphNode, QueryGraphProps} from '../../types/queryGraph';\nimport {\n createQueryGraphConnections,\n getQueryGraphNodeSize,\n validateQueryGraph,\n} from './helpers/layout';\nimport i18n from './i18n';\nimport {type QueryGraphBlock, QueryGraphCanvasBlock} from './internal/QueryGraphCanvasBlock';\nimport {QueryGraphPopup} from './internal/QueryGraphPopup';\nimport {getQueryGraphNodeIconSvgs} from './internal/queryGraphIcons';\nimport {useQueryGraphLayout} from './internal/useQueryGraphLayout';\n\nimport './QueryGraph.scss';\n\nconst block = cn('qp-query-graph');\nconst FIT_PADDING = 120;\nconst ZOOM_STEP = 0.08;\nconst renderEmptyBlock = () => <React.Fragment />;\n\ntype PopupState = {nodeId: string; left: number; top: number};\n\nexport function QueryGraph({\n nodes,\n edges,\n loading,\n errorContent,\n className,\n autoCenter = true,\n active = true,\n largeGraphThreshold = 250,\n renderNodePopup,\n onNodeClick,\n onError,\n}: QueryGraphProps) {\n const [showLargeGraph, setShowLargeGraph] = useState(false);\n const nodesRef = useRef(nodes);\n const edgesRef = useRef(edges);\n nodesRef.current = nodes;\n edgesRef.current = edges;\n\n const structureKey = useMemo(\n () =>\n `${nodes.map(({id, kind}) => `${id}:${kind}`).join('|')}::${edges\n .map(({id, source, target}) => `${id}:${source}:${target}`)\n .join('|')}`,\n [edges, nodes],\n );\n\n const validationError = useMemo(() => {\n try {\n validateQueryGraph(nodesRef.current, edgesRef.current);\n return undefined;\n } catch (nextError) {\n return nextError instanceof Error\n ? nextError\n : new Error('Unable to build query graph');\n }\n // Only graph structure affects validation.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [structureKey]);\n useEffect(() => {\n if (validationError) onError?.(validationError);\n }, [onError, validationError]);\n\n const shouldConfirm = largeGraphThreshold !== false && nodes.length > largeGraphThreshold;\n if (loading)\n return (\n <State className={className}>\n <Loader size=\"m\" />\n </State>\n );\n if (errorContent)\n return (\n <State className={className}>\n <Text color=\"danger\">{errorContent}</Text>\n </State>\n );\n if (validationError)\n return (\n <State className={className}>\n <Text color=\"danger\">{validationError.message}</Text>\n </State>\n );\n if (!nodes.length)\n return (\n <State className={className}>\n <Text color=\"secondary\">{i18n('context_empty')}</Text>\n </State>\n );\n if (shouldConfirm && !showLargeGraph) {\n return (\n <State className={className}>\n <div className={block('large-graph')}>\n <Text>{i18n('context_large-graph', {count: nodes.length})}</Text>\n <Button view=\"action\" onClick={() => setShowLargeGraph(true)}>\n {i18n('action_show-graph')}\n </Button>\n </div>\n </State>\n );\n }\n\n return (\n <QueryGraphWithLayout\n nodes={nodes}\n edges={edges}\n structureKey={structureKey}\n autoCenter={autoCenter}\n active={active}\n renderNodePopup={renderNodePopup}\n onNodeClick={onNodeClick}\n onError={onError}\n className={className}\n />\n );\n}\n\ntype QueryGraphWithLayoutProps = Pick<\n QueryGraphProps,\n | 'nodes'\n | 'edges'\n | 'autoCenter'\n | 'active'\n | 'renderNodePopup'\n | 'onNodeClick'\n | 'onError'\n | 'className'\n> & {structureKey: string};\n\nfunction QueryGraphWithLayout({\n nodes,\n edges,\n structureKey,\n autoCenter,\n active,\n renderNodePopup,\n onNodeClick,\n onError,\n className,\n}: QueryGraphWithLayoutProps) {\n const [popup, setPopup] = useState<PopupState>();\n const rootRef = useRef<HTMLDivElement>(null);\n const nodesRef = useRef(nodes);\n const edgesRef = useRef(edges);\n nodesRef.current = nodes;\n edgesRef.current = edges;\n\n const layoutBlocks = useMemo(\n () =>\n nodesRef.current.map((node) => ({\n id: node.id,\n ...getQueryGraphNodeSize(node),\n })),\n // Node status and presentation do not affect layout.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [structureKey],\n );\n const layoutConnections = useMemo(\n () =>\n edgesRef.current.map((edge) => ({\n id: edge.id,\n sourceBlockId: edge.source,\n targetBlockId: edge.target,\n })),\n // Only graph structure affects layout.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [structureKey],\n );\n const {result, resolvedStructureKey, isInitialLoading, error} = useQueryGraphLayout({\n structureKey,\n blocks: layoutBlocks,\n connections: layoutConnections,\n onError,\n });\n\n const graphBlocks = useMemo<QueryGraphBlock[]>(\n () =>\n nodes.flatMap((node) => {\n const position = result?.blocks[node.id];\n if (!position) return [];\n const {iconSvg, fallbackIconSvg, iconColorToken, fallbackIconColorToken} =\n getQueryGraphNodeIconSvgs(node);\n return [\n {\n id: node.id,\n is: 'query-node',\n name: node.name,\n selected: false,\n anchors: [],\n meta: {\n node,\n iconSvg,\n fallbackIconSvg,\n iconColorToken,\n fallbackIconColorToken,\n },\n ...getQueryGraphNodeSize(node),\n ...position,\n },\n ];\n }),\n [nodes, result],\n );\n const graphConnections = useMemo<TMultipointConnection[]>(\n () => createQueryGraphConnections(edges, result?.edges),\n [edges, result],\n );\n\n if (error)\n return (\n <State className={className}>\n <Text color=\"danger\">{error.message}</Text>\n </State>\n );\n if (isInitialLoading || !result || !resolvedStructureKey)\n return (\n <State className={className}>\n <Loader size=\"m\" />\n </State>\n );\n\n return (\n // The renderer is declared below to keep the public component and its states together.\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n <QueryGraphRenderer\n ref={rootRef}\n blocks={graphBlocks}\n connections={graphConnections}\n nodes={nodes}\n structureKey={resolvedStructureKey}\n autoCenter={autoCenter}\n active={active}\n popup={popup}\n setPopup={setPopup}\n renderNodePopup={renderNodePopup}\n onNodeClick={onNodeClick}\n className={className}\n />\n );\n}\n\ntype RendererProps = Pick<\n QueryGraphProps,\n 'autoCenter' | 'active' | 'renderNodePopup' | 'onNodeClick' | 'className'\n> & {\n blocks: QueryGraphBlock[];\n connections: TMultipointConnection[];\n nodes: QueryGraphNode[];\n structureKey: string;\n popup?: PopupState;\n setPopup: React.Dispatch<React.SetStateAction<PopupState | undefined>>;\n};\n\nconst QueryGraphRenderer = React.forwardRef<HTMLDivElement, RendererProps>(\n function QueryGraphRendererComponent(\n {\n blocks,\n connections,\n nodes,\n structureKey,\n autoCenter,\n active,\n popup,\n setPopup,\n renderNodePopup,\n onNodeClick,\n className,\n },\n forwardedRef,\n ) {\n const rootRef = useRef<HTMLDivElement | null>(null);\n useImperativeHandle(forwardedRef, () => rootRef.current as HTMLDivElement);\n const attachedRef = useRef(false);\n const centeredRef = useRef(false);\n const previousActiveRef = useRef(false);\n const previousStructureRef = useRef(structureKey);\n const [attached, setAttached] = useState(false);\n const [hoveredNodeId, setHoveredNodeId] = useState<string>();\n const themeValue = useThemeValue();\n const {graph, api, setEntities, start, stop} = useGraph({\n name: 'query-graph',\n settings: {\n connection: BezierMultipointConnection,\n canDrag: ECanDrag.NONE,\n canDragCamera: true,\n canZoomCamera: true,\n canCreateNewConnections: false,\n useBezierConnections: true,\n bezierConnectionDirection: 'horizontal',\n showConnectionArrows: true,\n useBlocksAnchors: false,\n blockComponents: {'query-node': QueryGraphCanvasBlock},\n },\n });\n const [scale, setScale] = useState(graph.cameraService.getCameraState().scale);\n const {scaleMin, scaleMax} = graph.cameraService.getCameraState();\n useGraphEvent(graph, 'camera-change', ({scale: nextScale}) => setScale(nextScale));\n useGraphEvent(graph, 'mouseenter', ({target}) => {\n const state = (target as {state?: QueryGraphBlock} | undefined)?.state;\n if (state?.meta?.node) setHoveredNodeId(state.meta.node.id);\n });\n useGraphEvent(graph, 'mouseleave', ({target}) => {\n const state = (target as {state?: QueryGraphBlock} | undefined)?.state;\n if (state?.meta?.node) setHoveredNodeId(undefined);\n });\n\n useEffect(() => {\n if (!rootRef.current) return;\n\n const background = getComputedStyle(rootRef.current)\n .getPropertyValue('--g-color-base-background')\n .trim();\n const connection = getComputedStyle(rootRef.current)\n .getPropertyValue('--g-color-line-generic-accent')\n .trim();\n if (!background || !connection) return;\n\n const colors = api.getGraphColors();\n api.updateGraphColors({\n ...colors,\n canvas: {\n ...colors.canvas,\n belowLayerBackground: background,\n layerBackground: background,\n border: background,\n dots: background,\n },\n connection: {\n ...colors.connection,\n background: connection,\n },\n });\n }, [api, themeValue]);\n\n const visibleConnections = useMemo(\n () =>\n connections.map((connection) => ({\n ...connection,\n selected: Boolean(\n hoveredNodeId &&\n (connection.sourceBlockId === hoveredNodeId ||\n connection.targetBlockId === hoveredNodeId),\n ),\n })),\n [connections, hoveredNodeId],\n );\n useEffect(\n () => setEntities({blocks, connections: visibleConnections}),\n [blocks, setEntities, visibleConnections],\n );\n useEffect(() => {\n if (!attachedRef.current) return;\n if (active) start();\n else stop();\n }, [active, start, stop]);\n useEffect(() => {\n const changed = previousStructureRef.current !== structureKey;\n const becameActive = active && !previousActiveRef.current;\n let frame: number | undefined;\n if (\n attached &&\n active &&\n (!centeredRef.current || becameActive || (autoCenter && changed))\n ) {\n frame = requestAnimationFrame(() => {\n api.zoomToViewPort({padding: FIT_PADDING});\n centeredRef.current = true;\n });\n }\n previousActiveRef.current = Boolean(active);\n previousStructureRef.current = structureKey;\n setPopup(undefined);\n return () => {\n if (frame !== undefined) cancelAnimationFrame(frame);\n };\n }, [active, api, attached, autoCenter, setPopup, structureKey]);\n\n const handleClick: NonNullable<React.ComponentProps<typeof GraphCanvas>['click']> = ({\n target,\n sourceEvent,\n }) => {\n const state = (target as {state?: QueryGraphBlock; isBlock?: boolean} | undefined)\n ?.state;\n if (!state?.meta?.node || !rootRef.current) {\n setPopup(undefined);\n return;\n }\n const mouseEvent = sourceEvent as MouseEvent;\n const rect = rootRef.current.getBoundingClientRect();\n const left = Math.min(\n Math.max(16, mouseEvent.clientX - rect.left + 12),\n rect.width - 456,\n );\n const top = Math.min(\n Math.max(16, mouseEvent.clientY - rect.top + 12),\n rect.height - 240,\n );\n setPopup({\n nodeId: state.meta.node.id,\n left: Math.max(16, left),\n top: Math.max(16, top),\n });\n onNodeClick?.(state.meta.node, mouseEvent);\n };\n\n const selectedNode = popup ? nodes.find((node) => node.id === popup.nodeId) : undefined;\n const defaultContent = selectedNode ? <QueryGraphPopup node={selectedNode} /> : null;\n let popupContent: React.ReactNode = null;\n if (selectedNode) {\n popupContent = renderNodePopup\n ? renderNodePopup({node: selectedNode, defaultContent})\n : defaultContent;\n }\n\n return (\n <div ref={rootRef} className={block(null, className)}>\n <GraphCanvas\n graph={graph}\n className={block('canvas')}\n click={handleClick}\n renderBlock={renderEmptyBlock}\n onStateChanged={({state}) => {\n if (state === GraphState.ATTACHED) {\n if (active) start();\n attachedRef.current = true;\n setAttached(true);\n }\n }}\n />\n <div className={block('toolbox')}>\n <Tooltip content={i18n('action_zoom-in')} placement=\"right\">\n <Button\n view=\"raised\"\n pin=\"round-brick\"\n aria-label={i18n('action_zoom-in')}\n disabled={scale >= scaleMax}\n onClick={() => changeZoom(graph, ZOOM_STEP)}\n >\n <Icon data={MagnifierPlus} />\n </Button>\n </Tooltip>\n <Tooltip content={i18n('action_fit')} placement=\"right\">\n <Button\n view=\"raised\"\n pin=\"brick-brick\"\n aria-label={i18n('action_fit')}\n onClick={() => api.zoomToViewPort({padding: FIT_PADDING})}\n >\n <Icon data={SquareDashed} />\n </Button>\n </Tooltip>\n <Tooltip content={i18n('action_zoom-out')} placement=\"right\">\n <Button\n view=\"raised\"\n pin=\"brick-round\"\n aria-label={i18n('action_zoom-out')}\n disabled={scale <= scaleMin}\n onClick={() => changeZoom(graph, -ZOOM_STEP)}\n >\n <Icon data={MagnifierMinus} />\n </Button>\n </Tooltip>\n </div>\n {popup && popupContent !== null && (\n <div className={block('popup')} style={{left: popup.left, top: popup.top}}>\n {popupContent}\n </div>\n )}\n </div>\n );\n },\n);\n\nfunction changeZoom(graph: ReturnType<typeof useGraph>['graph'], delta: number) {\n const camera = graph.cameraService;\n const state = camera.getCameraState();\n const nextScale = Math.min(state.scaleMax, Math.max(state.scaleMin, state.scale + delta));\n camera.zoom(state.width / 2, state.height / 2, nextScale);\n}\n\nfunction State({className, children}: {className?: string; children: React.ReactNode}) {\n return (\n <div className={block(null, className)}>\n <div className={block('state')}>{children}</div>\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import type { QueryGraphEdge, QueryGraphNode } from '../../types/queryGraph';
3
+ import { QueryGraph } from './QueryGraph';
4
+ export declare const demoNodes: QueryGraphNode[];
5
+ export declare const demoEdges: QueryGraphEdge[];
6
+ declare const meta: Meta<typeof QueryGraph>;
7
+ export default meta;
8
+ type Story = StoryObj<typeof QueryGraph>;
9
+ export declare const Default: Story;
10
+ export declare const Statuses: Story;
11
+ export declare const OperationTypes: Story;
12
+ export declare const CustomIcon: Story;
13
+ export declare const UpdatingProgress: Story;
14
+ export declare const LargeGraph: Story;
15
+ export declare const LargeGraphThreshold: Story;
16
+ export declare const InvalidGraph: Story;
@@ -0,0 +1,339 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.demoNodes = exports.demoEdges = exports.default = exports.UpdatingProgress = exports.Statuses = exports.OperationTypes = exports.LargeGraphThreshold = exports.LargeGraph = exports.InvalidGraph = exports.Default = exports.CustomIcon = void 0;
7
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ require("core-js/modules/es.array.from.js");
10
+ require("core-js/modules/es.array.map.js");
11
+ require("core-js/modules/es.iterator.constructor.js");
12
+ require("core-js/modules/es.iterator.map.js");
13
+ require("core-js/modules/es.object.to-string.js");
14
+ require("core-js/modules/es.string.iterator.js");
15
+ require("core-js/modules/web.timers.js");
16
+ var _react = _interopRequireWildcard(require("react"));
17
+ var _QueryGraph = require("./QueryGraph");
18
+ var _largeGraphData = require("./story/largeGraphData");
19
+ var _jsxRuntime = require("react/jsx-runtime");
20
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ var demoNodes = exports.demoNodes = [{
23
+ id: 'source',
24
+ kind: 'input',
25
+ name: 'orders',
26
+ label: 'warehouse.orders'
27
+ }, {
28
+ id: 'read',
29
+ kind: 'operation',
30
+ name: 'Read',
31
+ operationType: 'read',
32
+ status: 'completed',
33
+ progress: {
34
+ total: 12,
35
+ completed: 12
36
+ }
37
+ }, {
38
+ id: 'map',
39
+ kind: 'operation',
40
+ name: 'Map',
41
+ operationType: 'map',
42
+ status: 'running',
43
+ progress: {
44
+ total: 100,
45
+ completed: 68,
46
+ running: 8,
47
+ pending: 24
48
+ },
49
+ popup: {
50
+ stages: [{
51
+ name: 'Preparing',
52
+ duration: 1300
53
+ }, {
54
+ name: 'Executing',
55
+ duration: 8400
56
+ }],
57
+ details: [{
58
+ name: 'Columns',
59
+ value: ['id', 'price', 'created_at']
60
+ }, {
61
+ name: 'Settings',
62
+ children: [{
63
+ name: 'Workers',
64
+ value: 8
65
+ }]
66
+ }],
67
+ jobs: {
68
+ total: 100,
69
+ completed: 68,
70
+ running: 8,
71
+ pending: 24
72
+ },
73
+ inputs: [{
74
+ name: 'orders',
75
+ columns: [{
76
+ name: 'id',
77
+ type: 'Uint64'
78
+ }, {
79
+ name: 'price',
80
+ type: 'Double'
81
+ }]
82
+ }],
83
+ outputs: [{
84
+ name: 'mapped',
85
+ columns: [{
86
+ name: 'total',
87
+ type: 'Double'
88
+ }]
89
+ }]
90
+ }
91
+ }, {
92
+ id: 'reduce',
93
+ kind: 'operation',
94
+ name: 'Reduce',
95
+ operationType: 'reduce',
96
+ status: 'waiting',
97
+ progress: {
98
+ total: 20
99
+ }
100
+ }, {
101
+ id: 'sink',
102
+ kind: 'output',
103
+ name: 'result',
104
+ label: 'warehouse.result'
105
+ }];
106
+ var demoEdges = exports.demoEdges = [{
107
+ id: 'source-read',
108
+ source: 'source',
109
+ target: 'read'
110
+ }, {
111
+ id: 'read-map',
112
+ source: 'read',
113
+ target: 'map'
114
+ }, {
115
+ id: 'map-reduce',
116
+ source: 'map',
117
+ target: 'reduce'
118
+ }, {
119
+ id: 'reduce-sink',
120
+ source: 'reduce',
121
+ target: 'sink'
122
+ }];
123
+ var meta = {
124
+ title: 'Components/QueryGraph',
125
+ component: _QueryGraph.QueryGraph,
126
+ tags: ['autodocs'],
127
+ args: {
128
+ nodes: demoNodes,
129
+ edges: demoEdges
130
+ },
131
+ render: function render(args) {
132
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_QueryGraph.QueryGraph, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, args), {}, {
133
+ className: "query-graph-story"
134
+ }));
135
+ },
136
+ decorators: [function (Story) {
137
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
138
+ style: {
139
+ height: 600
140
+ },
141
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Story, {})
142
+ });
143
+ }]
144
+ };
145
+ var _default = exports.default = meta;
146
+ var Default = exports.Default = {};
147
+ var Statuses = exports.Statuses = {
148
+ args: {
149
+ nodes: [{
150
+ id: 'not-started',
151
+ kind: 'operation',
152
+ name: 'Map',
153
+ status: 'not-started'
154
+ }, {
155
+ id: 'waiting',
156
+ kind: 'operation',
157
+ name: 'Map',
158
+ status: 'waiting'
159
+ }, {
160
+ id: 'running',
161
+ kind: 'operation',
162
+ name: 'Map',
163
+ status: 'running'
164
+ }, {
165
+ id: 'completed',
166
+ kind: 'operation',
167
+ name: 'Map',
168
+ status: 'completed'
169
+ }, {
170
+ id: 'failed',
171
+ kind: 'operation',
172
+ name: 'Map',
173
+ status: 'failed'
174
+ }, {
175
+ id: 'aborted',
176
+ kind: 'operation',
177
+ name: 'Map',
178
+ status: 'aborted'
179
+ }].map(function (node, index) {
180
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, node), {}, {
181
+ progress: {
182
+ total: index === 5 ? 23 : 2684677
183
+ }
184
+ });
185
+ }),
186
+ edges: [],
187
+ largeGraphThreshold: false
188
+ }
189
+ };
190
+ var OperationTypes = exports.OperationTypes = {
191
+ args: {
192
+ nodes: ['read', 'map', 'reduce', 'map-reduce', 'merge', 'sort', 'erase', 'commit', 'operation'].map(function (operationType) {
193
+ return {
194
+ id: operationType,
195
+ kind: 'operation',
196
+ name: operationType,
197
+ label: operationType === 'map-reduce' ? 'A very long reusable MapReduce operation label' : operationType,
198
+ operationType: operationType,
199
+ status: 'not-started'
200
+ };
201
+ }),
202
+ edges: [{
203
+ id: 'read-map',
204
+ source: 'read',
205
+ target: 'map'
206
+ }, {
207
+ id: 'map-reduce',
208
+ source: 'map',
209
+ target: 'reduce'
210
+ }, {
211
+ id: 'map-reduce-merge',
212
+ source: 'map-reduce',
213
+ target: 'merge'
214
+ }, {
215
+ id: 'merge-sort',
216
+ source: 'merge',
217
+ target: 'sort'
218
+ }, {
219
+ id: 'erase-commit',
220
+ source: 'erase',
221
+ target: 'commit'
222
+ }, {
223
+ id: 'commit-operation',
224
+ source: 'commit',
225
+ target: 'operation'
226
+ }],
227
+ largeGraphThreshold: false
228
+ }
229
+ };
230
+ var CustomIcon = exports.CustomIcon = {
231
+ args: {
232
+ nodes: [{
233
+ id: 'custom',
234
+ kind: 'operation',
235
+ name: 'Custom operation',
236
+ status: 'not-started',
237
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
238
+ width: "16",
239
+ height: "16",
240
+ viewBox: "0 0 16 16",
241
+ xmlns: "http://www.w3.org/2000/svg",
242
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
243
+ fill: "currentColor",
244
+ d: "M8 1 15 8 8 15 1 8z"
245
+ })
246
+ })
247
+ }],
248
+ edges: [],
249
+ largeGraphThreshold: false
250
+ }
251
+ };
252
+ function UpdatingProgressStory(props) {
253
+ var _useState = (0, _react.useState)(0),
254
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
255
+ completed = _useState2[0],
256
+ setCompleted = _useState2[1];
257
+ (0, _react.useEffect)(function () {
258
+ var timer = window.setInterval(function () {
259
+ return setCompleted(function (value) {
260
+ return (value + 5) % 105;
261
+ });
262
+ }, 500);
263
+ return function () {
264
+ return window.clearInterval(timer);
265
+ };
266
+ }, []);
267
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_QueryGraph.QueryGraph, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
268
+ nodes: props.nodes.map(function (node) {
269
+ return node.id === 'progress' ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, node), {}, {
270
+ progress: {
271
+ total: 100,
272
+ completed: completed,
273
+ fraction: completed / 100
274
+ }
275
+ }) : node;
276
+ })
277
+ }));
278
+ }
279
+ var UpdatingProgress = exports.UpdatingProgress = {
280
+ args: {
281
+ nodes: [{
282
+ id: 'progress',
283
+ kind: 'operation',
284
+ name: 'Map',
285
+ operationType: 'map',
286
+ status: 'running',
287
+ progress: {
288
+ total: 100,
289
+ completed: 0
290
+ }
291
+ }],
292
+ edges: [],
293
+ largeGraphThreshold: false
294
+ },
295
+ render: function render(args) {
296
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(UpdatingProgressStory, (0, _objectSpread2.default)({}, args));
297
+ }
298
+ };
299
+ var LargeGraph = exports.LargeGraph = {
300
+ args: {
301
+ nodes: _largeGraphData.largeGraphNodes,
302
+ edges: _largeGraphData.largeGraphEdges,
303
+ largeGraphThreshold: false
304
+ }
305
+ };
306
+ var LargeGraphThreshold = exports.LargeGraphThreshold = {
307
+ args: {
308
+ nodes: Array.from({
309
+ length: 701
310
+ }, function (_, index) {
311
+ return {
312
+ id: "node-".concat(index),
313
+ kind: 'operation',
314
+ name: "Operation ".concat(index),
315
+ status: index % 3 ? 'completed' : 'running'
316
+ };
317
+ }),
318
+ edges: Array.from({
319
+ length: 700
320
+ }, function (_, index) {
321
+ return {
322
+ id: "edge-".concat(index),
323
+ source: "node-".concat(index),
324
+ target: "node-".concat(index + 1)
325
+ };
326
+ })
327
+ }
328
+ };
329
+ var InvalidGraph = exports.InvalidGraph = {
330
+ args: {
331
+ nodes: demoNodes,
332
+ edges: [{
333
+ id: 'bad',
334
+ source: 'source',
335
+ target: 'missing'
336
+ }]
337
+ }
338
+ };
339
+ // #sourceMappingURL=QueryGraph.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_QueryGraph","_largeGraphData","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_interopRequireDefault","demoNodes","exports","id","kind","name","label","operationType","status","progress","total","completed","running","pending","popup","stages","duration","details","value","children","jobs","inputs","columns","type","outputs","demoEdges","source","target","meta","title","component","QueryGraph","tags","args","nodes","edges","render","_jsx","_objectSpread","className","decorators","Story","style","height","_default","Default","Statuses","map","node","index","largeGraphThreshold","OperationTypes","CustomIcon","icon","width","viewBox","xmlns","fill","d","UpdatingProgressStory","props","_useState","useState","_useState2","_slicedToArray","setCompleted","useEffect","timer","window","setInterval","clearInterval","fraction","UpdatingProgress","LargeGraph","largeGraphNodes","largeGraphEdges","LargeGraphThreshold","Array","from","length","_","concat","InvalidGraph"],"sources":["QueryGraph.stories.tsx"],"sourcesContent":["import React, {useEffect, useState} from 'react';\nimport type {Meta, StoryObj} from '@storybook/react';\n\nimport type {QueryGraphEdge, QueryGraphNode} from '../../types/queryGraph';\nimport {QueryGraph} from './QueryGraph';\nimport {largeGraphEdges, largeGraphNodes} from './story/largeGraphData';\n\nexport const demoNodes: QueryGraphNode[] = [\n {id: 'source', kind: 'input', name: 'orders', label: 'warehouse.orders'},\n {\n id: 'read',\n kind: 'operation',\n name: 'Read',\n operationType: 'read',\n status: 'completed',\n progress: {total: 12, completed: 12},\n },\n {\n id: 'map',\n kind: 'operation',\n name: 'Map',\n operationType: 'map',\n status: 'running',\n progress: {total: 100, completed: 68, running: 8, pending: 24},\n popup: {\n stages: [\n {name: 'Preparing', duration: 1300},\n {name: 'Executing', duration: 8400},\n ],\n details: [\n {name: 'Columns', value: ['id', 'price', 'created_at']},\n {name: 'Settings', children: [{name: 'Workers', value: 8}]},\n ],\n jobs: {total: 100, completed: 68, running: 8, pending: 24},\n inputs: [\n {\n name: 'orders',\n columns: [\n {name: 'id', type: 'Uint64'},\n {name: 'price', type: 'Double'},\n ],\n },\n ],\n outputs: [{name: 'mapped', columns: [{name: 'total', type: 'Double'}]}],\n },\n },\n {\n id: 'reduce',\n kind: 'operation',\n name: 'Reduce',\n operationType: 'reduce',\n status: 'waiting',\n progress: {total: 20},\n },\n {id: 'sink', kind: 'output', name: 'result', label: 'warehouse.result'},\n];\n\nexport const demoEdges: QueryGraphEdge[] = [\n {id: 'source-read', source: 'source', target: 'read'},\n {id: 'read-map', source: 'read', target: 'map'},\n {id: 'map-reduce', source: 'map', target: 'reduce'},\n {id: 'reduce-sink', source: 'reduce', target: 'sink'},\n];\n\nconst meta: Meta<typeof QueryGraph> = {\n title: 'Components/QueryGraph',\n component: QueryGraph,\n tags: ['autodocs'],\n args: {nodes: demoNodes, edges: demoEdges},\n render: (args) => <QueryGraph {...args} className=\"query-graph-story\" />,\n decorators: [\n (Story) => (\n <div style={{height: 600}}>\n <Story />\n </div>\n ),\n ],\n};\n\nexport default meta;\ntype Story = StoryObj<typeof QueryGraph>;\n\nexport const Default: Story = {};\n\nexport const Statuses: Story = {\n args: {\n nodes: [\n {id: 'not-started', kind: 'operation', name: 'Map', status: 'not-started'},\n {id: 'waiting', kind: 'operation', name: 'Map', status: 'waiting'},\n {id: 'running', kind: 'operation', name: 'Map', status: 'running'},\n {id: 'completed', kind: 'operation', name: 'Map', status: 'completed'},\n {id: 'failed', kind: 'operation', name: 'Map', status: 'failed'},\n {id: 'aborted', kind: 'operation', name: 'Map', status: 'aborted'},\n ].map((node, index) => ({\n ...node,\n progress: {total: index === 5 ? 23 : 2_684_677},\n })) as QueryGraphNode[],\n edges: [],\n largeGraphThreshold: false,\n },\n};\n\nexport const OperationTypes: Story = {\n args: {\n nodes: (\n [\n 'read',\n 'map',\n 'reduce',\n 'map-reduce',\n 'merge',\n 'sort',\n 'erase',\n 'commit',\n 'operation',\n ] as const\n ).map((operationType) => ({\n id: operationType,\n kind: 'operation' as const,\n name: operationType,\n label:\n operationType === 'map-reduce'\n ? 'A very long reusable MapReduce operation label'\n : operationType,\n operationType,\n status: 'not-started' as const,\n })),\n edges: [\n {id: 'read-map', source: 'read', target: 'map'},\n {id: 'map-reduce', source: 'map', target: 'reduce'},\n {id: 'map-reduce-merge', source: 'map-reduce', target: 'merge'},\n {id: 'merge-sort', source: 'merge', target: 'sort'},\n {id: 'erase-commit', source: 'erase', target: 'commit'},\n {id: 'commit-operation', source: 'commit', target: 'operation'},\n ],\n largeGraphThreshold: false,\n },\n};\n\nexport const CustomIcon: Story = {\n args: {\n nodes: [\n {\n id: 'custom',\n kind: 'operation',\n name: 'Custom operation',\n status: 'not-started',\n icon: (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path fill=\"currentColor\" d=\"M8 1 15 8 8 15 1 8z\" />\n </svg>\n ),\n },\n ],\n edges: [],\n largeGraphThreshold: false,\n },\n};\n\nfunction UpdatingProgressStory(props: React.ComponentProps<typeof QueryGraph>) {\n const [completed, setCompleted] = useState(0);\n useEffect(() => {\n const timer = window.setInterval(() => setCompleted((value) => (value + 5) % 105), 500);\n return () => window.clearInterval(timer);\n }, []);\n return (\n <QueryGraph\n {...props}\n nodes={props.nodes.map((node) =>\n node.id === 'progress'\n ? {...node, progress: {total: 100, completed, fraction: completed / 100}}\n : node,\n )}\n />\n );\n}\n\nexport const UpdatingProgress: Story = {\n args: {\n nodes: [\n {\n id: 'progress',\n kind: 'operation',\n name: 'Map',\n operationType: 'map',\n status: 'running',\n progress: {total: 100, completed: 0},\n },\n ],\n edges: [],\n largeGraphThreshold: false,\n },\n render: (args) => <UpdatingProgressStory {...args} />,\n};\n\nexport const LargeGraph: Story = {\n args: {\n nodes: largeGraphNodes,\n edges: largeGraphEdges,\n largeGraphThreshold: false,\n },\n};\n\nexport const LargeGraphThreshold: Story = {\n args: {\n nodes: Array.from({length: 701}, (_, index) => ({\n id: `node-${index}`,\n kind: 'operation' as const,\n name: `Operation ${index}`,\n status: index % 3 ? ('completed' as const) : ('running' as const),\n })),\n edges: Array.from({length: 700}, (_, index) => ({\n id: `edge-${index}`,\n source: `node-${index}`,\n target: `node-${index + 1}`,\n })),\n },\n};\n\nexport const InvalidGraph: Story = {\n args: {nodes: demoNodes, edges: [{id: 'bad', source: 'source', target: 'missing'}]},\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { TMultipointConnection } from '@gravity-ui/graph';
2
+ import type { QueryGraphEdge, QueryGraphNode } from '../../../types/queryGraph';
3
+ export declare function getQueryGraphNodeSize(node: QueryGraphNode): {
4
+ width: number;
5
+ height: number;
6
+ };
7
+ export declare function validateQueryGraph(nodes: QueryGraphNode[], edges: QueryGraphEdge[]): void;
8
+ export declare function createQueryGraphConnections(edges: QueryGraphEdge[], routes?: Record<string | number | symbol, Pick<TMultipointConnection, 'points' | 'labels'>>): TMultipointConnection[];
9
+ export declare function getQueryGraphProgress(node: QueryGraphNode): number;
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createQueryGraphConnections = createQueryGraphConnections;
7
+ exports.getQueryGraphNodeSize = getQueryGraphNodeSize;
8
+ exports.getQueryGraphProgress = getQueryGraphProgress;
9
+ exports.validateQueryGraph = validateQueryGraph;
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
12
+ require("core-js/modules/es.error.cause.js");
13
+ require("core-js/modules/es.error.to-string.js");
14
+ require("core-js/modules/es.array.filter.js");
15
+ require("core-js/modules/es.array.for-each.js");
16
+ require("core-js/modules/es.array.iterator.js");
17
+ require("core-js/modules/es.array.map.js");
18
+ require("core-js/modules/es.array.push.js");
19
+ require("core-js/modules/es.iterator.constructor.js");
20
+ require("core-js/modules/es.iterator.filter.js");
21
+ require("core-js/modules/es.iterator.for-each.js");
22
+ require("core-js/modules/es.iterator.map.js");
23
+ require("core-js/modules/es.map.js");
24
+ require("core-js/modules/es.object.to-string.js");
25
+ require("core-js/modules/es.set.js");
26
+ require("core-js/modules/es.set.difference.v2.js");
27
+ require("core-js/modules/es.set.intersection.v2.js");
28
+ require("core-js/modules/es.set.is-disjoint-from.v2.js");
29
+ require("core-js/modules/es.set.is-subset-of.v2.js");
30
+ require("core-js/modules/es.set.is-superset-of.v2.js");
31
+ require("core-js/modules/es.set.symmetric-difference.v2.js");
32
+ require("core-js/modules/es.set.union.v2.js");
33
+ require("core-js/modules/es.string.iterator.js");
34
+ require("core-js/modules/esnext.map.get-or-insert.js");
35
+ require("core-js/modules/esnext.map.get-or-insert-computed.js");
36
+ require("core-js/modules/web.dom-collections.for-each.js");
37
+ require("core-js/modules/web.dom-collections.iterator.js");
38
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
39
+ var OPERATION_SIZE = 65;
40
+ var RESOURCE_WIDTH = 36;
41
+ var RESOURCE_HEIGHT = 36;
42
+ function getQueryGraphNodeSize(node) {
43
+ return node.kind === 'operation' ? {
44
+ width: OPERATION_SIZE,
45
+ height: OPERATION_SIZE
46
+ } : {
47
+ width: RESOURCE_WIDTH,
48
+ height: RESOURCE_HEIGHT
49
+ };
50
+ }
51
+ function validateQueryGraph(nodes, edges) {
52
+ var ids = new Set();
53
+ var _iterator = (0, _createForOfIteratorHelper2.default)(nodes),
54
+ _step;
55
+ try {
56
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
57
+ var node = _step.value;
58
+ if (ids.has(node.id)) throw new Error("Duplicate query graph node id: ".concat(node.id));
59
+ ids.add(node.id);
60
+ }
61
+ } catch (err) {
62
+ _iterator.e(err);
63
+ } finally {
64
+ _iterator.f();
65
+ }
66
+ var edgeIds = new Set();
67
+ var _iterator2 = (0, _createForOfIteratorHelper2.default)(edges),
68
+ _step2;
69
+ try {
70
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
71
+ var edge = _step2.value;
72
+ if (edgeIds.has(edge.id)) throw new Error("Duplicate query graph edge id: ".concat(edge.id));
73
+ edgeIds.add(edge.id);
74
+ if (!ids.has(edge.source)) throw new Error("Unknown source node: ".concat(edge.source));
75
+ if (!ids.has(edge.target)) throw new Error("Unknown target node: ".concat(edge.target));
76
+ }
77
+ } catch (err) {
78
+ _iterator2.e(err);
79
+ } finally {
80
+ _iterator2.f();
81
+ }
82
+ var incoming = new Map(nodes.map(function (node) {
83
+ return [node.id, 0];
84
+ }));
85
+ var outgoing = new Map(nodes.map(function (node) {
86
+ return [node.id, []];
87
+ }));
88
+ edges.forEach(function (edge) {
89
+ var _incoming$get, _outgoing$get;
90
+ incoming.set(edge.target, ((_incoming$get = incoming.get(edge.target)) !== null && _incoming$get !== void 0 ? _incoming$get : 0) + 1);
91
+ (_outgoing$get = outgoing.get(edge.source)) === null || _outgoing$get === void 0 || _outgoing$get.push(edge.target);
92
+ });
93
+ var queue = nodes.filter(function (node) {
94
+ return incoming.get(node.id) === 0;
95
+ }).map(function (node) {
96
+ return node.id;
97
+ });
98
+ var visited = 0;
99
+ for (var index = 0; index < queue.length; index++) {
100
+ var _outgoing$get2;
101
+ var id = queue[index];
102
+ visited++;
103
+ var _iterator3 = (0, _createForOfIteratorHelper2.default)((_outgoing$get2 = outgoing.get(id)) !== null && _outgoing$get2 !== void 0 ? _outgoing$get2 : []),
104
+ _step3;
105
+ try {
106
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
107
+ var _incoming$get2;
108
+ var target = _step3.value;
109
+ var nextIncoming = ((_incoming$get2 = incoming.get(target)) !== null && _incoming$get2 !== void 0 ? _incoming$get2 : 0) - 1;
110
+ incoming.set(target, nextIncoming);
111
+ if (nextIncoming === 0) queue.push(target);
112
+ }
113
+ } catch (err) {
114
+ _iterator3.e(err);
115
+ } finally {
116
+ _iterator3.f();
117
+ }
118
+ }
119
+ if (visited !== nodes.length) throw new Error('Query graph contains a cycle');
120
+ }
121
+ function createQueryGraphConnections(edges, routes) {
122
+ return edges.map(function (edge) {
123
+ return (0, _objectSpread2.default)({
124
+ id: edge.id,
125
+ sourceBlockId: edge.source,
126
+ targetBlockId: edge.target
127
+ }, routes === null || routes === void 0 ? void 0 : routes[edge.id]);
128
+ });
129
+ }
130
+ function getQueryGraphProgress(node) {
131
+ var _node$progress, _node$progress$total, _node$progress2, _node$progress$comple, _node$progress3;
132
+ var fraction = (_node$progress = node.progress) === null || _node$progress === void 0 ? void 0 : _node$progress.fraction;
133
+ if (typeof fraction === 'number') return Math.min(1, Math.max(0, fraction));
134
+ var total = (_node$progress$total = (_node$progress2 = node.progress) === null || _node$progress2 === void 0 ? void 0 : _node$progress2.total) !== null && _node$progress$total !== void 0 ? _node$progress$total : 0;
135
+ if (total <= 0) return 0;
136
+ return Math.min(1, Math.max(0, ((_node$progress$comple = (_node$progress3 = node.progress) === null || _node$progress3 === void 0 ? void 0 : _node$progress3.completed) !== null && _node$progress$comple !== void 0 ? _node$progress$comple : 0) / total));
137
+ }
138
+ // #sourceMappingURL=layout.js.map