@gravity-ui/querieskit 1.5.0 → 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 (357) hide show
  1. package/README.md +28 -0
  2. package/build/cjs/components/AttachmentList/AttachmentList.js +1 -0
  3. package/build/cjs/components/AttachmentList/AttachmentList.js.map +1 -1
  4. package/build/cjs/components/QueryGraph/QueryGraph.css +70 -0
  5. package/build/cjs/components/QueryGraph/QueryGraph.css.map +1 -0
  6. package/build/cjs/components/QueryGraph/QueryGraph.d.ts +4 -0
  7. package/build/cjs/components/QueryGraph/QueryGraph.js +517 -0
  8. package/build/cjs/components/QueryGraph/QueryGraph.js.map +1 -0
  9. package/build/cjs/components/QueryGraph/QueryGraph.stories.d.ts +16 -0
  10. package/build/cjs/components/QueryGraph/QueryGraph.stories.js +339 -0
  11. package/build/cjs/components/QueryGraph/QueryGraph.stories.js.map +1 -0
  12. package/build/cjs/components/QueryGraph/helpers/layout.d.ts +9 -0
  13. package/build/cjs/components/QueryGraph/helpers/layout.js +138 -0
  14. package/build/cjs/components/QueryGraph/helpers/layout.js.map +1 -0
  15. package/build/cjs/components/QueryGraph/helpers/presentation.d.ts +18 -0
  16. package/build/cjs/components/QueryGraph/helpers/presentation.js +44 -0
  17. package/build/cjs/components/QueryGraph/helpers/presentation.js.map +1 -0
  18. package/build/cjs/components/QueryGraph/i18n/dicts.d.ts +55 -0
  19. package/build/cjs/components/QueryGraph/i18n/dicts.js +14 -0
  20. package/build/cjs/components/QueryGraph/i18n/dicts.js.map +1 -0
  21. package/build/cjs/components/QueryGraph/i18n/en.json +26 -0
  22. package/build/cjs/components/QueryGraph/i18n/index.d.ts +6 -0
  23. package/build/cjs/components/QueryGraph/i18n/index.js +11 -0
  24. package/build/cjs/components/QueryGraph/i18n/index.js.map +1 -0
  25. package/build/cjs/components/QueryGraph/i18n/ru.json +26 -0
  26. package/build/cjs/components/QueryGraph/index.d.ts +2 -0
  27. package/build/cjs/components/QueryGraph/index.js +13 -0
  28. package/build/cjs/components/QueryGraph/index.js.map +1 -0
  29. package/build/cjs/components/QueryGraph/internal/QueryGraphCanvasBlock.d.ts +24 -0
  30. package/build/cjs/components/QueryGraph/internal/QueryGraphCanvasBlock.js +307 -0
  31. package/build/cjs/components/QueryGraph/internal/QueryGraphCanvasBlock.js.map +1 -0
  32. package/build/cjs/components/QueryGraph/internal/QueryGraphPopup.d.ts +5 -0
  33. package/build/cjs/components/QueryGraph/internal/QueryGraphPopup.js +242 -0
  34. package/build/cjs/components/QueryGraph/internal/QueryGraphPopup.js.map +1 -0
  35. package/build/cjs/components/QueryGraph/internal/queryGraphIcons.d.ts +12 -0
  36. package/build/cjs/components/QueryGraph/internal/queryGraphIcons.js +161 -0
  37. package/build/cjs/components/QueryGraph/internal/queryGraphIcons.js.map +1 -0
  38. package/build/cjs/components/QueryGraph/internal/useQueryGraphLayout.d.ts +22 -0
  39. package/build/cjs/components/QueryGraph/internal/useQueryGraphLayout.js +60 -0
  40. package/build/cjs/components/QueryGraph/internal/useQueryGraphLayout.js.map +1 -0
  41. package/build/cjs/components/QueryGraph/story/largeGraphData.d.ts +3 -0
  42. package/build/cjs/components/QueryGraph/story/largeGraphData.js +227 -0
  43. package/build/cjs/components/QueryGraph/story/largeGraphData.js.map +1 -0
  44. package/build/cjs/components/index.d.ts +2 -0
  45. package/build/cjs/components/index.js +9 -1
  46. package/build/cjs/components/index.js.map +1 -1
  47. package/build/cjs/helpers/buildColumnsFromKeys.d.ts +1 -1
  48. package/build/cjs/helpers/buildColumnsFromKeys.js.map +1 -1
  49. package/build/cjs/index.d.ts +1 -0
  50. package/build/cjs/index.js +11 -0
  51. package/build/cjs/index.js.map +1 -1
  52. package/build/cjs/modules/Attachments/Attachments.css +13 -1
  53. package/build/cjs/modules/Attachments/Attachments.css.map +1 -1
  54. package/build/cjs/modules/Attachments/Attachments.js +4 -4
  55. package/build/cjs/modules/Attachments/Attachments.js.map +1 -1
  56. package/build/cjs/modules/Attachments/Attachments.stories.d.ts +1 -0
  57. package/build/cjs/modules/Attachments/Attachments.stories.js +92 -2
  58. package/build/cjs/modules/Attachments/Attachments.stories.js.map +1 -1
  59. package/build/cjs/modules/ClustersList/ClustersList.d.ts +1 -1
  60. package/build/cjs/modules/ClustersList/ClustersList.js +4 -3
  61. package/build/cjs/modules/ClustersList/ClustersList.js.map +1 -1
  62. package/build/cjs/modules/HistoryHeader/HistoryHeader.js +4 -3
  63. package/build/cjs/modules/HistoryHeader/HistoryHeader.js.map +1 -1
  64. package/build/cjs/modules/HistoryRow/HistoryRow.js +12 -7
  65. package/build/cjs/modules/HistoryRow/HistoryRow.js.map +1 -1
  66. package/build/cjs/modules/HistorySearchRow/HistorySearchRow.js +8 -5
  67. package/build/cjs/modules/HistorySearchRow/HistorySearchRow.js.map +1 -1
  68. package/build/cjs/modules/HistorySearchRow/helpers/resolveMonacoLanguage.d.ts +1 -1
  69. package/build/cjs/modules/HistorySearchRow/helpers/resolveMonacoLanguage.js +5 -5
  70. package/build/cjs/modules/HistorySearchRow/helpers/resolveMonacoLanguage.js.map +1 -1
  71. package/build/cjs/modules/NavigationDetail/NavigationDetail.d.ts +1 -1
  72. package/build/cjs/modules/NavigationDetail/NavigationDetail.js +2 -2
  73. package/build/cjs/modules/NavigationDetail/NavigationDetail.js.map +1 -1
  74. package/build/cjs/modules/NavigationHeader/NavigationHeader.d.ts +1 -1
  75. package/build/cjs/modules/NavigationHeader/NavigationHeader.js +2 -2
  76. package/build/cjs/modules/NavigationHeader/NavigationHeader.js.map +1 -1
  77. package/build/cjs/modules/NavigationItemsList/NavigationItemsList.d.ts +1 -1
  78. package/build/cjs/modules/NavigationItemsList/NavigationItemsList.js +4 -3
  79. package/build/cjs/modules/NavigationItemsList/NavigationItemsList.js.map +1 -1
  80. package/build/cjs/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.d.ts +1 -1
  81. package/build/cjs/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.js +2 -2
  82. package/build/cjs/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.js.map +1 -1
  83. package/build/cjs/modules/NavigationMeta/NavigationMeta.js +4 -3
  84. package/build/cjs/modules/NavigationMeta/NavigationMeta.js.map +1 -1
  85. package/build/cjs/modules/NavigationMeta/i18n/index.d.ts +2 -2
  86. package/build/cjs/modules/NavigationPreview/NavigationPreview.d.ts +1 -1
  87. package/build/cjs/modules/NavigationPreview/NavigationPreview.js +6 -4
  88. package/build/cjs/modules/NavigationPreview/NavigationPreview.js.map +1 -1
  89. package/build/cjs/modules/NavigationPreview/helpers/buildPreviewColumns.d.ts +1 -1
  90. package/build/cjs/modules/NavigationPreview/helpers/buildPreviewColumns.js.map +1 -1
  91. package/build/cjs/modules/NavigationSchema/NavigationSchema.d.ts +1 -1
  92. package/build/cjs/modules/NavigationSchema/NavigationSchema.js +4 -3
  93. package/build/cjs/modules/NavigationSchema/NavigationSchema.js.map +1 -1
  94. package/build/cjs/modules/NavigationSchema/helpers/buildSchemaColumns.d.ts +1 -1
  95. package/build/cjs/modules/NavigationSchema/helpers/buildSchemaColumns.js.map +1 -1
  96. package/build/cjs/modules/NavigationView/NavigationView.d.ts +1 -1
  97. package/build/cjs/modules/NavigationView/NavigationView.js +4 -3
  98. package/build/cjs/modules/NavigationView/NavigationView.js.map +1 -1
  99. package/build/cjs/modules/NavigationView/helpers/buildViewColumns.d.ts +1 -1
  100. package/build/cjs/modules/NavigationView/helpers/buildViewColumns.js.map +1 -1
  101. package/build/cjs/modules/NavigationView/internal/NavigationViewSectionItem.d.ts +1 -1
  102. package/build/cjs/modules/NavigationView/internal/NavigationViewSectionItem.js +4 -3
  103. package/build/cjs/modules/NavigationView/internal/NavigationViewSectionItem.js.map +1 -1
  104. package/build/cjs/modules/QueriesList/QueriesList.js +2 -2
  105. package/build/cjs/modules/QueriesList/QueriesList.js.map +1 -1
  106. package/build/cjs/modules/QueryProgress/QueryProgress.css +64 -0
  107. package/build/cjs/modules/QueryProgress/QueryProgress.css.map +1 -0
  108. package/build/cjs/modules/QueryProgress/QueryProgress.d.ts +4 -0
  109. package/build/cjs/modules/QueryProgress/QueryProgress.js +135 -0
  110. package/build/cjs/modules/QueryProgress/QueryProgress.js.map +1 -0
  111. package/build/cjs/modules/QueryProgress/QueryProgress.stories.d.ts +7 -0
  112. package/build/cjs/modules/QueryProgress/QueryProgress.stories.js +38 -0
  113. package/build/cjs/modules/QueryProgress/QueryProgress.stories.js.map +1 -0
  114. package/build/cjs/modules/QueryProgress/i18n/dicts.d.ts +25 -0
  115. package/build/cjs/modules/QueryProgress/i18n/dicts.js +14 -0
  116. package/build/cjs/modules/QueryProgress/i18n/dicts.js.map +1 -0
  117. package/build/cjs/modules/QueryProgress/i18n/en.json +11 -0
  118. package/build/cjs/modules/QueryProgress/i18n/index.d.ts +6 -0
  119. package/build/cjs/modules/QueryProgress/i18n/index.js +11 -0
  120. package/build/cjs/modules/QueryProgress/i18n/index.js.map +1 -0
  121. package/build/cjs/modules/QueryProgress/i18n/ru.json +11 -0
  122. package/build/cjs/modules/QueryProgress/index.d.ts +2 -0
  123. package/build/cjs/modules/QueryProgress/index.js +13 -0
  124. package/build/cjs/modules/QueryProgress/index.js.map +1 -0
  125. package/build/cjs/modules/QueryStatistics/i18n/index.d.ts +2 -2
  126. package/build/cjs/modules/RowsList/RowsList.js +4 -3
  127. package/build/cjs/modules/RowsList/RowsList.js.map +1 -1
  128. package/build/cjs/modules/SavedQueryRow/SavedQueryRow.d.ts +2 -2
  129. package/build/cjs/modules/SavedQueryRow/SavedQueryRow.js +6 -4
  130. package/build/cjs/modules/SavedQueryRow/SavedQueryRow.js.map +1 -1
  131. package/build/cjs/modules/SavedQuerySearchRow/SavedQuerySearchRow.d.ts +2 -2
  132. package/build/cjs/modules/SavedQuerySearchRow/SavedQuerySearchRow.js +4 -3
  133. package/build/cjs/modules/SavedQuerySearchRow/SavedQuerySearchRow.js.map +1 -1
  134. package/build/cjs/modules/TutorialRow/TutorialRow.d.ts +1 -1
  135. package/build/cjs/modules/TutorialRow/TutorialRow.js +2 -2
  136. package/build/cjs/modules/TutorialRow/TutorialRow.js.map +1 -1
  137. package/build/cjs/modules/TutorialSearchRow/TutorialSearchRow.d.ts +1 -1
  138. package/build/cjs/modules/TutorialSearchRow/TutorialSearchRow.js +4 -3
  139. package/build/cjs/modules/TutorialSearchRow/TutorialSearchRow.js.map +1 -1
  140. package/build/cjs/modules/index.d.ts +2 -0
  141. package/build/cjs/modules/index.js +8 -0
  142. package/build/cjs/modules/index.js.map +1 -1
  143. package/build/cjs/types/queryGraph.d.ts +87 -0
  144. package/build/cjs/types/queryGraph.js +6 -0
  145. package/build/cjs/types/queryGraph.js.map +1 -0
  146. package/build/cjs/widgets/DashboardCharts/DashboardCharts.js +8 -6
  147. package/build/cjs/widgets/DashboardCharts/DashboardCharts.js.map +1 -1
  148. package/build/cjs/widgets/DashboardCharts/types.d.ts +3 -3
  149. package/build/cjs/widgets/DashboardCharts/types.js.map +1 -1
  150. package/build/cjs/widgets/QueriesHistory/QueriesHistory.js +2 -2
  151. package/build/cjs/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
  152. package/build/cjs/widgets/QueriesHistory/internal/HistoryRowContent.js +6 -5
  153. package/build/cjs/widgets/QueriesHistory/internal/HistoryRowContent.js.map +1 -1
  154. package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.d.ts +1 -1
  155. package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.js +13 -9
  156. package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.js.map +1 -1
  157. package/build/cjs/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.js +2 -2
  158. package/build/cjs/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.js.map +1 -1
  159. package/build/cjs/widgets/QueriesNavigation/helpers/createTableDetailConfig.js +8 -5
  160. package/build/cjs/widgets/QueriesNavigation/helpers/createTableDetailConfig.js.map +1 -1
  161. package/build/cjs/widgets/QueryResults/QueryResults.js +2 -2
  162. package/build/cjs/widgets/QueryResults/QueryResults.js.map +1 -1
  163. package/build/cjs/widgets/QueryResults/i18n/index.d.ts +2 -2
  164. package/build/cjs/widgets/QueryResults/internal/QueryResultsSchema.js +4 -3
  165. package/build/cjs/widgets/QueryResults/internal/QueryResultsSchema.js.map +1 -1
  166. package/build/cjs/widgets/SavedQueries/SavedQueries.d.ts +2 -2
  167. package/build/cjs/widgets/SavedQueries/SavedQueries.js +2 -2
  168. package/build/cjs/widgets/SavedQueries/SavedQueries.js.map +1 -1
  169. package/build/cjs/widgets/SavedQueries/SavedQueryRowContent.d.ts +2 -2
  170. package/build/cjs/widgets/SavedQueries/SavedQueryRowContent.js +6 -5
  171. package/build/cjs/widgets/SavedQueries/SavedQueryRowContent.js.map +1 -1
  172. package/build/cjs/widgets/TutorialsHistory/TutorialRowContent.d.ts +2 -2
  173. package/build/cjs/widgets/TutorialsHistory/TutorialRowContent.js +6 -5
  174. package/build/cjs/widgets/TutorialsHistory/TutorialRowContent.js.map +1 -1
  175. package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.d.ts +2 -2
  176. package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.js +6 -4
  177. package/build/cjs/widgets/TutorialsHistory/TutorialsHistory.js.map +1 -1
  178. package/build/esm/components/AttachmentList/AttachmentList.js +1 -0
  179. package/build/esm/components/AttachmentList/AttachmentList.js.map +1 -1
  180. package/build/esm/components/QueryGraph/QueryGraph.css +70 -0
  181. package/build/esm/components/QueryGraph/QueryGraph.css.map +1 -0
  182. package/build/esm/components/QueryGraph/QueryGraph.d.ts +4 -0
  183. package/build/esm/components/QueryGraph/QueryGraph.js +510 -0
  184. package/build/esm/components/QueryGraph/QueryGraph.js.map +1 -0
  185. package/build/esm/components/QueryGraph/QueryGraph.scss +81 -0
  186. package/build/esm/components/QueryGraph/QueryGraph.stories.d.ts +16 -0
  187. package/build/esm/components/QueryGraph/QueryGraph.stories.js +331 -0
  188. package/build/esm/components/QueryGraph/QueryGraph.stories.js.map +1 -0
  189. package/build/esm/components/QueryGraph/helpers/layout.d.ts +9 -0
  190. package/build/esm/components/QueryGraph/helpers/layout.js +128 -0
  191. package/build/esm/components/QueryGraph/helpers/layout.js.map +1 -0
  192. package/build/esm/components/QueryGraph/helpers/presentation.d.ts +18 -0
  193. package/build/esm/components/QueryGraph/helpers/presentation.js +35 -0
  194. package/build/esm/components/QueryGraph/helpers/presentation.js.map +1 -0
  195. package/build/esm/components/QueryGraph/i18n/dicts.d.ts +55 -0
  196. package/build/esm/components/QueryGraph/i18n/dicts.js +7 -0
  197. package/build/esm/components/QueryGraph/i18n/dicts.js.map +1 -0
  198. package/build/esm/components/QueryGraph/i18n/en.json +26 -0
  199. package/build/esm/components/QueryGraph/i18n/index.d.ts +6 -0
  200. package/build/esm/components/QueryGraph/i18n/index.js +4 -0
  201. package/build/esm/components/QueryGraph/i18n/index.js.map +1 -0
  202. package/build/esm/components/QueryGraph/i18n/ru.json +26 -0
  203. package/build/esm/components/QueryGraph/index.d.ts +2 -0
  204. package/build/esm/components/QueryGraph/index.js +2 -0
  205. package/build/esm/components/QueryGraph/index.js.map +1 -0
  206. package/build/esm/components/QueryGraph/internal/QueryGraphCanvasBlock.d.ts +24 -0
  207. package/build/esm/components/QueryGraph/internal/QueryGraphCanvasBlock.js +299 -0
  208. package/build/esm/components/QueryGraph/internal/QueryGraphCanvasBlock.js.map +1 -0
  209. package/build/esm/components/QueryGraph/internal/QueryGraphPopup.d.ts +5 -0
  210. package/build/esm/components/QueryGraph/internal/QueryGraphPopup.js +234 -0
  211. package/build/esm/components/QueryGraph/internal/QueryGraphPopup.js.map +1 -0
  212. package/build/esm/components/QueryGraph/internal/queryGraphIcons.d.ts +12 -0
  213. package/build/esm/components/QueryGraph/internal/queryGraphIcons.js +150 -0
  214. package/build/esm/components/QueryGraph/internal/queryGraphIcons.js.map +1 -0
  215. package/build/esm/components/QueryGraph/internal/useQueryGraphLayout.d.ts +22 -0
  216. package/build/esm/components/QueryGraph/internal/useQueryGraphLayout.js +53 -0
  217. package/build/esm/components/QueryGraph/internal/useQueryGraphLayout.js.map +1 -0
  218. package/build/esm/components/QueryGraph/story/largeGraphData.d.ts +3 -0
  219. package/build/esm/components/QueryGraph/story/largeGraphData.js +220 -0
  220. package/build/esm/components/QueryGraph/story/largeGraphData.js.map +1 -0
  221. package/build/esm/components/index.d.ts +2 -0
  222. package/build/esm/components/index.js +1 -0
  223. package/build/esm/components/index.js.map +1 -1
  224. package/build/esm/helpers/buildColumnsFromKeys.d.ts +1 -1
  225. package/build/esm/helpers/buildColumnsFromKeys.js.map +1 -1
  226. package/build/esm/index.d.ts +1 -0
  227. package/build/esm/index.js +1 -0
  228. package/build/esm/index.js.map +1 -1
  229. package/build/esm/modules/Attachments/Attachments.css +13 -1
  230. package/build/esm/modules/Attachments/Attachments.css.map +1 -1
  231. package/build/esm/modules/Attachments/Attachments.js +5 -5
  232. package/build/esm/modules/Attachments/Attachments.js.map +1 -1
  233. package/build/esm/modules/Attachments/Attachments.scss +13 -1
  234. package/build/esm/modules/Attachments/Attachments.stories.d.ts +1 -0
  235. package/build/esm/modules/Attachments/Attachments.stories.js +91 -1
  236. package/build/esm/modules/Attachments/Attachments.stories.js.map +1 -1
  237. package/build/esm/modules/ClustersList/ClustersList.d.ts +1 -1
  238. package/build/esm/modules/ClustersList/ClustersList.js +2 -1
  239. package/build/esm/modules/ClustersList/ClustersList.js.map +1 -1
  240. package/build/esm/modules/HistoryHeader/HistoryHeader.js +2 -1
  241. package/build/esm/modules/HistoryHeader/HistoryHeader.js.map +1 -1
  242. package/build/esm/modules/HistoryRow/HistoryRow.js +6 -1
  243. package/build/esm/modules/HistoryRow/HistoryRow.js.map +1 -1
  244. package/build/esm/modules/HistorySearchRow/HistorySearchRow.js +4 -1
  245. package/build/esm/modules/HistorySearchRow/HistorySearchRow.js.map +1 -1
  246. package/build/esm/modules/HistorySearchRow/helpers/resolveMonacoLanguage.d.ts +1 -1
  247. package/build/esm/modules/HistorySearchRow/helpers/resolveMonacoLanguage.js +1 -1
  248. package/build/esm/modules/HistorySearchRow/helpers/resolveMonacoLanguage.js.map +1 -1
  249. package/build/esm/modules/NavigationDetail/NavigationDetail.d.ts +1 -1
  250. package/build/esm/modules/NavigationDetail/NavigationDetail.js +1 -1
  251. package/build/esm/modules/NavigationDetail/NavigationDetail.js.map +1 -1
  252. package/build/esm/modules/NavigationHeader/NavigationHeader.d.ts +1 -1
  253. package/build/esm/modules/NavigationHeader/NavigationHeader.js +1 -1
  254. package/build/esm/modules/NavigationHeader/NavigationHeader.js.map +1 -1
  255. package/build/esm/modules/NavigationItemsList/NavigationItemsList.d.ts +1 -1
  256. package/build/esm/modules/NavigationItemsList/NavigationItemsList.js +2 -1
  257. package/build/esm/modules/NavigationItemsList/NavigationItemsList.js.map +1 -1
  258. package/build/esm/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.d.ts +1 -1
  259. package/build/esm/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.js +1 -1
  260. package/build/esm/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.js.map +1 -1
  261. package/build/esm/modules/NavigationMeta/NavigationMeta.js +2 -1
  262. package/build/esm/modules/NavigationMeta/NavigationMeta.js.map +1 -1
  263. package/build/esm/modules/NavigationMeta/i18n/index.d.ts +2 -2
  264. package/build/esm/modules/NavigationPreview/NavigationPreview.d.ts +1 -1
  265. package/build/esm/modules/NavigationPreview/NavigationPreview.js +3 -1
  266. package/build/esm/modules/NavigationPreview/NavigationPreview.js.map +1 -1
  267. package/build/esm/modules/NavigationPreview/helpers/buildPreviewColumns.d.ts +1 -1
  268. package/build/esm/modules/NavigationPreview/helpers/buildPreviewColumns.js.map +1 -1
  269. package/build/esm/modules/NavigationSchema/NavigationSchema.d.ts +1 -1
  270. package/build/esm/modules/NavigationSchema/NavigationSchema.js +2 -1
  271. package/build/esm/modules/NavigationSchema/NavigationSchema.js.map +1 -1
  272. package/build/esm/modules/NavigationSchema/helpers/buildSchemaColumns.d.ts +1 -1
  273. package/build/esm/modules/NavigationSchema/helpers/buildSchemaColumns.js.map +1 -1
  274. package/build/esm/modules/NavigationView/NavigationView.d.ts +1 -1
  275. package/build/esm/modules/NavigationView/NavigationView.js +2 -1
  276. package/build/esm/modules/NavigationView/NavigationView.js.map +1 -1
  277. package/build/esm/modules/NavigationView/helpers/buildViewColumns.d.ts +1 -1
  278. package/build/esm/modules/NavigationView/helpers/buildViewColumns.js.map +1 -1
  279. package/build/esm/modules/NavigationView/internal/NavigationViewSectionItem.d.ts +1 -1
  280. package/build/esm/modules/NavigationView/internal/NavigationViewSectionItem.js +2 -1
  281. package/build/esm/modules/NavigationView/internal/NavigationViewSectionItem.js.map +1 -1
  282. package/build/esm/modules/QueriesList/QueriesList.js +1 -1
  283. package/build/esm/modules/QueriesList/QueriesList.js.map +1 -1
  284. package/build/esm/modules/QueryProgress/QueryProgress.css +64 -0
  285. package/build/esm/modules/QueryProgress/QueryProgress.css.map +1 -0
  286. package/build/esm/modules/QueryProgress/QueryProgress.d.ts +4 -0
  287. package/build/esm/modules/QueryProgress/QueryProgress.js +127 -0
  288. package/build/esm/modules/QueryProgress/QueryProgress.js.map +1 -0
  289. package/build/esm/modules/QueryProgress/QueryProgress.scss +72 -0
  290. package/build/esm/modules/QueryProgress/QueryProgress.stories.d.ts +7 -0
  291. package/build/esm/modules/QueryProgress/QueryProgress.stories.js +31 -0
  292. package/build/esm/modules/QueryProgress/QueryProgress.stories.js.map +1 -0
  293. package/build/esm/modules/QueryProgress/i18n/dicts.d.ts +25 -0
  294. package/build/esm/modules/QueryProgress/i18n/dicts.js +7 -0
  295. package/build/esm/modules/QueryProgress/i18n/dicts.js.map +1 -0
  296. package/build/esm/modules/QueryProgress/i18n/en.json +11 -0
  297. package/build/esm/modules/QueryProgress/i18n/index.d.ts +6 -0
  298. package/build/esm/modules/QueryProgress/i18n/index.js +4 -0
  299. package/build/esm/modules/QueryProgress/i18n/index.js.map +1 -0
  300. package/build/esm/modules/QueryProgress/i18n/ru.json +11 -0
  301. package/build/esm/modules/QueryProgress/index.d.ts +2 -0
  302. package/build/esm/modules/QueryProgress/index.js +2 -0
  303. package/build/esm/modules/QueryProgress/index.js.map +1 -0
  304. package/build/esm/modules/QueryStatistics/i18n/index.d.ts +2 -2
  305. package/build/esm/modules/RowsList/RowsList.js +2 -1
  306. package/build/esm/modules/RowsList/RowsList.js.map +1 -1
  307. package/build/esm/modules/SavedQueryRow/SavedQueryRow.d.ts +2 -2
  308. package/build/esm/modules/SavedQueryRow/SavedQueryRow.js +3 -1
  309. package/build/esm/modules/SavedQueryRow/SavedQueryRow.js.map +1 -1
  310. package/build/esm/modules/SavedQuerySearchRow/SavedQuerySearchRow.d.ts +2 -2
  311. package/build/esm/modules/SavedQuerySearchRow/SavedQuerySearchRow.js +2 -1
  312. package/build/esm/modules/SavedQuerySearchRow/SavedQuerySearchRow.js.map +1 -1
  313. package/build/esm/modules/TutorialRow/TutorialRow.d.ts +1 -1
  314. package/build/esm/modules/TutorialRow/TutorialRow.js +1 -1
  315. package/build/esm/modules/TutorialRow/TutorialRow.js.map +1 -1
  316. package/build/esm/modules/TutorialSearchRow/TutorialSearchRow.d.ts +1 -1
  317. package/build/esm/modules/TutorialSearchRow/TutorialSearchRow.js +2 -1
  318. package/build/esm/modules/TutorialSearchRow/TutorialSearchRow.js.map +1 -1
  319. package/build/esm/modules/index.d.ts +2 -0
  320. package/build/esm/modules/index.js +1 -0
  321. package/build/esm/modules/index.js.map +1 -1
  322. package/build/esm/types/queryGraph.d.ts +87 -0
  323. package/build/esm/types/queryGraph.js +2 -0
  324. package/build/esm/types/queryGraph.js.map +1 -0
  325. package/build/esm/widgets/DashboardCharts/DashboardCharts.js +4 -2
  326. package/build/esm/widgets/DashboardCharts/DashboardCharts.js.map +1 -1
  327. package/build/esm/widgets/DashboardCharts/types.d.ts +3 -3
  328. package/build/esm/widgets/DashboardCharts/types.js.map +1 -1
  329. package/build/esm/widgets/QueriesHistory/QueriesHistory.js +1 -1
  330. package/build/esm/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
  331. package/build/esm/widgets/QueriesHistory/internal/HistoryRowContent.js +3 -2
  332. package/build/esm/widgets/QueriesHistory/internal/HistoryRowContent.js.map +1 -1
  333. package/build/esm/widgets/QueriesNavigation/QueriesNavigation.d.ts +1 -1
  334. package/build/esm/widgets/QueriesNavigation/QueriesNavigation.js +6 -2
  335. package/build/esm/widgets/QueriesNavigation/QueriesNavigation.js.map +1 -1
  336. package/build/esm/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.js +1 -1
  337. package/build/esm/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.js.map +1 -1
  338. package/build/esm/widgets/QueriesNavigation/helpers/createTableDetailConfig.js +4 -1
  339. package/build/esm/widgets/QueriesNavigation/helpers/createTableDetailConfig.js.map +1 -1
  340. package/build/esm/widgets/QueryResults/QueryResults.js +1 -1
  341. package/build/esm/widgets/QueryResults/QueryResults.js.map +1 -1
  342. package/build/esm/widgets/QueryResults/i18n/index.d.ts +2 -2
  343. package/build/esm/widgets/QueryResults/internal/QueryResultsSchema.js +2 -1
  344. package/build/esm/widgets/QueryResults/internal/QueryResultsSchema.js.map +1 -1
  345. package/build/esm/widgets/SavedQueries/SavedQueries.d.ts +2 -2
  346. package/build/esm/widgets/SavedQueries/SavedQueries.js +1 -1
  347. package/build/esm/widgets/SavedQueries/SavedQueries.js.map +1 -1
  348. package/build/esm/widgets/SavedQueries/SavedQueryRowContent.d.ts +2 -2
  349. package/build/esm/widgets/SavedQueries/SavedQueryRowContent.js +3 -2
  350. package/build/esm/widgets/SavedQueries/SavedQueryRowContent.js.map +1 -1
  351. package/build/esm/widgets/TutorialsHistory/TutorialRowContent.d.ts +2 -2
  352. package/build/esm/widgets/TutorialsHistory/TutorialRowContent.js +3 -2
  353. package/build/esm/widgets/TutorialsHistory/TutorialRowContent.js.map +1 -1
  354. package/build/esm/widgets/TutorialsHistory/TutorialsHistory.d.ts +2 -2
  355. package/build/esm/widgets/TutorialsHistory/TutorialsHistory.js +3 -1
  356. package/build/esm/widgets/TutorialsHistory/TutorialsHistory.js.map +1 -1
  357. package/package.json +84 -5
@@ -0,0 +1 @@
1
+ {"version":3,"names":["en","ru"],"sources":["dicts.ts"],"sourcesContent":["import en from './en.json';\nimport ru from './ru.json';\n\nexport default {en, ru};\n"],"mappings":"AAAA,OAAOA,EAAE;AACT,OAAOC,EAAE;AAET,eAAe;EAACD,EAAE,EAAFA,EAAE;EAAEC,EAAE,EAAFA;AAAE,CAAC","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ {
2
+ "action_fit": "Fit",
3
+ "action_zoom-in": "Zoom in",
4
+ "action_zoom-out": "Zoom out",
5
+ "action_show-graph": "Show graph",
6
+ "context_large-graph": "The graph contains {{count}} nodes and may take some time to render.",
7
+ "context_empty": "No graph data",
8
+ "value_stages": "Stages",
9
+ "value_details": "Details",
10
+ "value_jobs": "Jobs",
11
+ "value_schemas": "Schemas",
12
+ "field_stage": "Stage",
13
+ "field_duration": "Duration",
14
+ "field_status": "Status",
15
+ "field_count": "Count",
16
+ "field_name": "Name",
17
+ "field_type": "Type",
18
+ "value_total": "Total",
19
+ "value_inputs": "Inputs",
20
+ "value_outputs": "Outputs",
21
+ "status_pending": "Pending",
22
+ "status_running": "Running",
23
+ "status_completed": "Completed",
24
+ "status_failed": "Failed",
25
+ "status_aborted": "Aborted"
26
+ }
@@ -0,0 +1,6 @@
1
+ declare const _default: ((key: "field_name" | "action_fit" | "action_zoom-in" | "action_zoom-out" | "action_show-graph" | "context_large-graph" | "context_empty" | "value_stages" | "value_details" | "value_jobs" | "value_schemas" | "field_stage" | "field_duration" | "field_status" | "field_count" | "field_type" | "value_total" | "value_inputs" | "value_outputs" | "status_pending" | "status_running" | "status_completed" | "status_failed" | "status_aborted", params?: import("@gravity-ui/i18n").Params) => string) & {
2
+ keysetData: {
3
+ "qp:query-graph": Record<"field_name" | "action_fit" | "action_zoom-in" | "action_zoom-out" | "action_show-graph" | "context_large-graph" | "context_empty" | "value_stages" | "value_details" | "value_jobs" | "value_schemas" | "field_stage" | "field_duration" | "field_status" | "field_count" | "field_type" | "value_total" | "value_inputs" | "value_outputs" | "status_pending" | "status_running" | "status_completed" | "status_failed" | "status_aborted", import("@gravity-ui/i18n").KeyData>;
4
+ };
5
+ };
6
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import { addI18Keysets } from "../../../i18n";
2
+ import dicts from "./dicts";
3
+ export default addI18Keysets('qp:query-graph', dicts);
4
+ // #sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["addI18Keysets","dicts"],"sources":["index.ts"],"sourcesContent":["import {addI18Keysets} from '../../../i18n';\nimport dicts from './dicts';\n\nexport default addI18Keysets('qp:query-graph', dicts);\n"],"mappings":"AAAA,SAAQA,aAAa;AACrB,OAAOC,KAAK;AAEZ,eAAeD,aAAa,CAAC,gBAAgB,EAAEC,KAAK,CAAC","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ {
2
+ "action_fit": "Вписать",
3
+ "action_zoom-in": "Приблизить",
4
+ "action_zoom-out": "Отдалить",
5
+ "action_show-graph": "Показать граф",
6
+ "context_large-graph": "Граф содержит {{count}} узлов, его построение может занять некоторое время.",
7
+ "context_empty": "Нет данных графа",
8
+ "value_stages": "Этапы",
9
+ "value_details": "Детали",
10
+ "value_jobs": "Задачи",
11
+ "value_schemas": "Схемы",
12
+ "field_stage": "Этап",
13
+ "field_duration": "Длительность",
14
+ "field_status": "Статус",
15
+ "field_count": "Количество",
16
+ "field_name": "Название",
17
+ "field_type": "Тип",
18
+ "value_total": "Всего",
19
+ "value_inputs": "Входы",
20
+ "value_outputs": "Выходы",
21
+ "status_pending": "Ожидает",
22
+ "status_running": "Выполняется",
23
+ "status_completed": "Завершено",
24
+ "status_failed": "Ошибка",
25
+ "status_aborted": "Прервано"
26
+ }
@@ -0,0 +1,2 @@
1
+ export { QueryGraph } from './QueryGraph';
2
+ export type { QueryGraphProps } from '../../types/queryGraph';
@@ -0,0 +1,2 @@
1
+ export { QueryGraph } from "./QueryGraph";
2
+ // #sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["QueryGraph"],"sources":["index.ts"],"sourcesContent":["export {QueryGraph} from './QueryGraph';\nexport type {QueryGraphProps} from '../../types/queryGraph';\n"],"mappings":"AAAA,SAAQA,UAAU","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ import { CanvasBlock, type TBlock } from '@gravity-ui/graph';
2
+ import type { QueryGraphNode } from '../../../types/queryGraph';
3
+ type QueryGraphBlockMeta = {
4
+ node: QueryGraphNode;
5
+ iconSvg: string;
6
+ fallbackIconSvg: string;
7
+ iconColorToken: string;
8
+ fallbackIconColorToken: string;
9
+ };
10
+ export type QueryGraphBlock = TBlock<QueryGraphBlockMeta>;
11
+ export declare class QueryGraphCanvasBlock extends CanvasBlock<QueryGraphBlock> {
12
+ renderMinimalisticBlock(ctx: CanvasRenderingContext2D): void;
13
+ renderSchematicView(ctx: CanvasRenderingContext2D): void;
14
+ renderDetailedView(ctx: CanvasRenderingContext2D): void;
15
+ private readonly redrawAfterImageLoad;
16
+ private renderQueryNode;
17
+ private drawNodeShape;
18
+ private drawRunningOperation;
19
+ private drawCounter;
20
+ private drawStatusIcon;
21
+ private drawIcon;
22
+ private drawLabel;
23
+ }
24
+ export {};
@@ -0,0 +1,299 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/createClass";
4
+ import _callSuper from "@babel/runtime/helpers/callSuper";
5
+ import _inherits from "@babel/runtime/helpers/inherits";
6
+ import "core-js/modules/es.array.concat.js";
7
+ import "core-js/modules/es.array.fill.js";
8
+ import "core-js/modules/es.array.for-each.js";
9
+ import "core-js/modules/es.array.iterator.js";
10
+ import "core-js/modules/es.array.join.js";
11
+ import "core-js/modules/es.function.name.js";
12
+ import "core-js/modules/es.iterator.constructor.js";
13
+ import "core-js/modules/es.iterator.for-each.js";
14
+ import "core-js/modules/es.map.js";
15
+ import "core-js/modules/es.object.to-string.js";
16
+ import "core-js/modules/es.set.js";
17
+ import "core-js/modules/es.set.difference.v2.js";
18
+ import "core-js/modules/es.set.intersection.v2.js";
19
+ import "core-js/modules/es.set.is-disjoint-from.v2.js";
20
+ import "core-js/modules/es.set.is-subset-of.v2.js";
21
+ import "core-js/modules/es.set.is-superset-of.v2.js";
22
+ import "core-js/modules/es.set.symmetric-difference.v2.js";
23
+ import "core-js/modules/es.set.union.v2.js";
24
+ import "core-js/modules/es.string.iterator.js";
25
+ import "core-js/modules/es.string.trim.js";
26
+ import "core-js/modules/esnext.map.get-or-insert.js";
27
+ import "core-js/modules/esnext.map.get-or-insert-computed.js";
28
+ import "core-js/modules/web.dom-collections.for-each.js";
29
+ import "core-js/modules/web.dom-collections.iterator.js";
30
+ /* eslint-disable no-param-reassign -- CanvasRenderingContext2D exposes drawing state as mutable properties. */
31
+ import { CanvasBlock } from '@gravity-ui/graph';
32
+ import { getQueryGraphProgress } from "../helpers/layout";
33
+ import { fitCanvasFontSize, fitCanvasText, getQueryGraphNodeContent, getScaleAdjustedFontSize } from "../helpers/presentation";
34
+ import { getQueryGraphStatusIconSvg } from "./queryGraphIcons";
35
+ var imageCache = new Map();
36
+ var statusTokens = {
37
+ 'not-started': ['--g-color-line-generic', '--g-color-base-float'],
38
+ waiting: ['--g-color-text-misc-heavy', '--g-color-base-misc-light'],
39
+ running: ['--g-color-line-generic', '--g-color-line-generic'],
40
+ completed: ['--g-color-text-positive-heavy', '--g-color-base-positive-light'],
41
+ failed: ['--g-color-text-danger-heavy', '--g-color-base-danger-light'],
42
+ aborted: ['--g-color-text-complementary', '--g-color-base-generic']
43
+ };
44
+ var statusIconTokens = {
45
+ running: '--g-color-text-info',
46
+ completed: '--g-color-text-positive-heavy',
47
+ failed: '--g-color-text-danger-heavy',
48
+ aborted: '--g-color-text-complementary'
49
+ };
50
+ var resourceTokens = ['--g-color-line-generic', '--g-color-base-float'];
51
+ var START_ANGLE = -Math.PI / 2;
52
+ var STATUS_ICON_SIZE_RATIO = 1 / 4;
53
+ var STATUS_ICON_BACKGROUND_RADIUS_RATIO = 1 / 6;
54
+ var PROGRESS_WIDTH_RATIO = 1 / 9;
55
+ var INNER_BORDER_WIDTH_RATIO = 1 / 25;
56
+ var COUNTER_MAX_WIDTH_RATIO = 7 / 9;
57
+ var LABEL_MAX_WIDTH_RATIO = 2;
58
+ var COUNTER_FONT_SIZE = 11;
59
+ var LABEL_FONT_SIZE = 9;
60
+ var LABEL_GAP = 4;
61
+ var RESOURCE_ICON_SIZE = 16;
62
+ function cssValue(token, element) {
63
+ if (typeof document === 'undefined') return '';
64
+ return getComputedStyle(element !== null && element !== void 0 ? element : document.documentElement).getPropertyValue(token).trim();
65
+ }
66
+ function coloredSvgDataUrl(svg, color) {
67
+ var markup = svg.split('currentColor').join(color || '#000');
68
+ return "data:image/svg+xml;charset=utf-8,".concat(encodeURIComponent(markup));
69
+ }
70
+ function getCanvasImage(svg, color, onSettled) {
71
+ if (typeof Image === 'undefined') return undefined;
72
+ var key = "".concat(color, "\n").concat(svg);
73
+ var entry = imageCache.get(key);
74
+ if (!entry) {
75
+ var image = new Image();
76
+ entry = {
77
+ image: image,
78
+ state: 'loading',
79
+ listeners: new Set()
80
+ };
81
+ imageCache.set(key, entry);
82
+ image.onload = function () {
83
+ if (!entry) return;
84
+ entry.state = 'loaded';
85
+ entry.listeners.forEach(function (listener) {
86
+ return listener();
87
+ });
88
+ entry.listeners.clear();
89
+ };
90
+ image.onerror = function () {
91
+ if (!entry) return;
92
+ entry.state = 'failed';
93
+ entry.listeners.forEach(function (listener) {
94
+ return listener();
95
+ });
96
+ entry.listeners.clear();
97
+ };
98
+ image.src = coloredSvgDataUrl(svg, color);
99
+ }
100
+ if (entry.state === 'loading') entry.listeners.add(onSettled);
101
+ return entry;
102
+ }
103
+ export var QueryGraphCanvasBlock = /*#__PURE__*/function (_CanvasBlock) {
104
+ function QueryGraphCanvasBlock() {
105
+ var _this;
106
+ _classCallCheck(this, QueryGraphCanvasBlock);
107
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
108
+ args[_key] = arguments[_key];
109
+ }
110
+ _this = _callSuper(this, QueryGraphCanvasBlock, [].concat(args));
111
+ _this.redrawAfterImageLoad = function () {
112
+ return _this.performRender();
113
+ };
114
+ return _this;
115
+ }
116
+ _inherits(QueryGraphCanvasBlock, _CanvasBlock);
117
+ return _createClass(QueryGraphCanvasBlock, [{
118
+ key: "renderMinimalisticBlock",
119
+ value: function renderMinimalisticBlock(ctx) {
120
+ this.renderQueryNode(ctx);
121
+ }
122
+ }, {
123
+ key: "renderSchematicView",
124
+ value: function renderSchematicView(ctx) {
125
+ this.renderQueryNode(ctx);
126
+ }
127
+ }, {
128
+ key: "renderDetailedView",
129
+ value: function renderDetailedView(ctx) {
130
+ this.renderQueryNode(ctx);
131
+ }
132
+ }, {
133
+ key: "renderQueryNode",
134
+ value: function renderQueryNode(context) {
135
+ var _node$status, _node$label;
136
+ var meta = this.state.meta;
137
+ if (!(meta !== null && meta !== void 0 && meta.node)) return;
138
+ var node = meta.node;
139
+ var status = (_node$status = node.status) !== null && _node$status !== void 0 ? _node$status : 'not-started';
140
+ var _ref = node.kind === 'operation' ? statusTokens[status] : resourceTokens,
141
+ _ref2 = _slicedToArray(_ref, 2),
142
+ lineToken = _ref2[0],
143
+ baseToken = _ref2[1];
144
+ context.save();
145
+ if (node.kind === 'operation' && status === 'running') {
146
+ this.drawRunningOperation(context, getQueryGraphProgress(node));
147
+ } else {
148
+ this.drawNodeShape(context, lineToken, baseToken);
149
+ }
150
+ var content = getQueryGraphNodeContent(node);
151
+ if (content.kind === 'icon') {
152
+ var _this$state = this.state,
153
+ x = _this$state.x,
154
+ y = _this$state.y,
155
+ width = _this$state.width,
156
+ height = _this$state.height;
157
+ var side = node.kind === 'operation' ? width / 2 : RESOURCE_ICON_SIZE;
158
+ this.drawIcon(context, meta.iconSvg, meta.fallbackIconSvg, x + (width - side) / 2, y + (height - side) / 2, side, cssValue(meta.iconColorToken, context.canvas), cssValue(meta.fallbackIconColorToken, context.canvas));
159
+ } else if (content.kind === 'counter') {
160
+ this.drawCounter(context, content.value);
161
+ }
162
+ if (node.kind === 'operation') this.drawStatusIcon(context, status);
163
+ this.drawLabel(context, (_node$label = node.label) !== null && _node$label !== void 0 ? _node$label : node.name, node.kind !== 'operation');
164
+ context.restore();
165
+ }
166
+ }, {
167
+ key: "drawNodeShape",
168
+ value: function drawNodeShape(context, lineToken, baseToken) {
169
+ var _this$state2 = this.state,
170
+ x = _this$state2.x,
171
+ y = _this$state2.y,
172
+ width = _this$state2.width,
173
+ height = _this$state2.height,
174
+ meta = _this$state2.meta;
175
+ context.beginPath();
176
+ if ((meta === null || meta === void 0 ? void 0 : meta.node.kind) === 'operation') {
177
+ context.arc(x + width / 2, y + height / 2, width / 2 - 1, 0, Math.PI * 2);
178
+ } else {
179
+ context.roundRect(x + 1, y + 1, width - 2, height - 2, 12);
180
+ }
181
+ context.fillStyle = cssValue(baseToken, context.canvas);
182
+ context.fill();
183
+ context.lineWidth = 2;
184
+ context.strokeStyle = cssValue(lineToken, context.canvas);
185
+ context.stroke();
186
+ }
187
+ }, {
188
+ key: "drawRunningOperation",
189
+ value: function drawRunningOperation(context, progress) {
190
+ var _this$state3 = this.state,
191
+ x = _this$state3.x,
192
+ y = _this$state3.y,
193
+ width = _this$state3.width,
194
+ height = _this$state3.height;
195
+ var centerX = x + width / 2;
196
+ var centerY = y + height / 2;
197
+ var radius = width / 2;
198
+ var progressWidth = width * PROGRESS_WIDTH_RATIO;
199
+ var endAngle = START_ANGLE + Math.PI * 2 * progress;
200
+ var runningBase = cssValue('--g-color-line-generic', context.canvas);
201
+ var runningLine = cssValue('--g-color-line-generic', context.canvas);
202
+ var progressBase = cssValue('--g-color-base-info-light', context.canvas);
203
+ var progressLine = cssValue('--g-color-text-info', context.canvas);
204
+ var background = cssValue('--g-color-base-background', context.canvas);
205
+ context.beginPath();
206
+ context.arc(centerX, centerY, radius - progressWidth / 2, 0, Math.PI * 2);
207
+ context.fillStyle = runningBase;
208
+ context.fill();
209
+ context.lineWidth = progressWidth;
210
+ context.strokeStyle = runningLine;
211
+ context.stroke();
212
+ if (progress > 0) {
213
+ context.beginPath();
214
+ context.moveTo(centerX, centerY);
215
+ context.arc(centerX, centerY, radius - progressWidth / 2, START_ANGLE, endAngle);
216
+ context.closePath();
217
+ context.fillStyle = progressBase;
218
+ context.fill();
219
+ context.beginPath();
220
+ context.arc(centerX, centerY, radius - progressWidth / 2, START_ANGLE, endAngle);
221
+ context.lineWidth = progressWidth;
222
+ context.strokeStyle = progressLine;
223
+ context.stroke();
224
+ }
225
+ context.beginPath();
226
+ context.arc(centerX, centerY, radius - progressWidth, 0, Math.PI * 2);
227
+ context.lineWidth = width * INNER_BORDER_WIDTH_RATIO;
228
+ context.strokeStyle = background;
229
+ context.stroke();
230
+ }
231
+ }, {
232
+ key: "drawCounter",
233
+ value: function drawCounter(context, value) {
234
+ var _this$state4 = this.state,
235
+ x = _this$state4.x,
236
+ y = _this$state4.y,
237
+ width = _this$state4.width,
238
+ height = _this$state4.height;
239
+ var maxFontSize = getScaleAdjustedFontSize(COUNTER_FONT_SIZE, this.context.graph.cameraService.getCameraScale());
240
+ var fontFamily = cssValue('--g-font-family-sans', context.canvas);
241
+ context.fillStyle = cssValue('--g-color-text-primary', context.canvas);
242
+ context.textAlign = 'center';
243
+ context.textBaseline = 'middle';
244
+ context.font = "500 ".concat(maxFontSize, "px ").concat(fontFamily);
245
+ var fontSize = fitCanvasFontSize(maxFontSize, context.measureText(value).width, width * COUNTER_MAX_WIDTH_RATIO);
246
+ context.font = "500 ".concat(fontSize, "px ").concat(fontFamily);
247
+ context.fillText(value, x + width / 2, y + height / 2);
248
+ }
249
+ }, {
250
+ key: "drawStatusIcon",
251
+ value: function drawStatusIcon(context, status) {
252
+ var iconSvg = getQueryGraphStatusIconSvg(status);
253
+ var colorToken = statusIconTokens[status];
254
+ if (!iconSvg || !colorToken) return;
255
+ var _this$state5 = this.state,
256
+ x = _this$state5.x,
257
+ y = _this$state5.y,
258
+ width = _this$state5.width;
259
+ var side = width * STATUS_ICON_SIZE_RATIO;
260
+ var backgroundRadius = width * STATUS_ICON_BACKGROUND_RADIUS_RATIO;
261
+ var iconX = x + width - side;
262
+ var iconY = y;
263
+ context.beginPath();
264
+ context.arc(iconX + side / 2, iconY + side / 2, backgroundRadius, 0, Math.PI * 2);
265
+ context.fillStyle = cssValue('--g-color-base-background', context.canvas);
266
+ context.fill();
267
+ this.drawIcon(context, iconSvg, iconSvg, iconX, iconY, side, cssValue(colorToken, context.canvas), cssValue(colorToken, context.canvas));
268
+ }
269
+ }, {
270
+ key: "drawIcon",
271
+ value: function drawIcon(context, svg, fallbackSvg, x, y, side, color, fallbackColor) {
272
+ var _entry, _entry2;
273
+ var entry = getCanvasImage(svg, color, this.redrawAfterImageLoad);
274
+ if (((_entry = entry) === null || _entry === void 0 ? void 0 : _entry.state) === 'failed' && fallbackSvg !== svg) {
275
+ entry = getCanvasImage(fallbackSvg, fallbackColor, this.redrawAfterImageLoad);
276
+ }
277
+ if (((_entry2 = entry) === null || _entry2 === void 0 ? void 0 : _entry2.state) === 'loaded') context.drawImage(entry.image, x, y, side, side);
278
+ }
279
+ }, {
280
+ key: "drawLabel",
281
+ value: function drawLabel(context, label, trimStart) {
282
+ var _this$state6 = this.state,
283
+ x = _this$state6.x,
284
+ y = _this$state6.y,
285
+ width = _this$state6.width,
286
+ height = _this$state6.height;
287
+ var cameraScale = this.context.graph.cameraService.getCameraScale();
288
+ var fontSize = getScaleAdjustedFontSize(LABEL_FONT_SIZE, cameraScale);
289
+ var labelGap = getScaleAdjustedFontSize(LABEL_GAP, cameraScale);
290
+ context.fillStyle = cssValue('--g-color-text-primary', context.canvas);
291
+ context.textAlign = 'center';
292
+ context.textBaseline = 'top';
293
+ context.font = "400 ".concat(fontSize, "px ").concat(cssValue('--g-font-family-sans', context.canvas));
294
+ var fitted = fitCanvasText(context, label, width * LABEL_MAX_WIDTH_RATIO, trimStart);
295
+ context.fillText(fitted, x + width / 2, y + height + labelGap);
296
+ }
297
+ }]);
298
+ }(CanvasBlock);
299
+ // #sourceMappingURL=QueryGraphCanvasBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CanvasBlock","getQueryGraphProgress","fitCanvasFontSize","fitCanvasText","getQueryGraphNodeContent","getScaleAdjustedFontSize","getQueryGraphStatusIconSvg","imageCache","Map","statusTokens","waiting","running","completed","failed","aborted","statusIconTokens","resourceTokens","START_ANGLE","Math","PI","STATUS_ICON_SIZE_RATIO","STATUS_ICON_BACKGROUND_RADIUS_RATIO","PROGRESS_WIDTH_RATIO","INNER_BORDER_WIDTH_RATIO","COUNTER_MAX_WIDTH_RATIO","LABEL_MAX_WIDTH_RATIO","COUNTER_FONT_SIZE","LABEL_FONT_SIZE","LABEL_GAP","RESOURCE_ICON_SIZE","cssValue","token","element","document","getComputedStyle","documentElement","getPropertyValue","trim","coloredSvgDataUrl","svg","color","markup","split","join","concat","encodeURIComponent","getCanvasImage","onSettled","Image","undefined","key","entry","get","image","state","listeners","Set","set","onload","forEach","listener","clear","onerror","src","add","QueryGraphCanvasBlock","_CanvasBlock","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","redrawAfterImageLoad","performRender","_inherits","_createClass","value","renderMinimalisticBlock","ctx","renderQueryNode","renderSchematicView","renderDetailedView","context","_node$status","_node$label","meta","node","status","_ref","kind","_ref2","_slicedToArray","lineToken","baseToken","save","drawRunningOperation","drawNodeShape","content","_this$state","x","y","width","height","side","drawIcon","iconSvg","fallbackIconSvg","iconColorToken","canvas","fallbackIconColorToken","drawCounter","drawStatusIcon","drawLabel","label","name","restore","_this$state2","beginPath","arc","roundRect","fillStyle","fill","lineWidth","strokeStyle","stroke","progress","_this$state3","centerX","centerY","radius","progressWidth","endAngle","runningBase","runningLine","progressBase","progressLine","background","moveTo","closePath","_this$state4","maxFontSize","graph","cameraService","getCameraScale","fontFamily","textAlign","textBaseline","font","fontSize","measureText","fillText","colorToken","_this$state5","backgroundRadius","iconX","iconY","fallbackSvg","fallbackColor","_entry","_entry2","drawImage","trimStart","_this$state6","cameraScale","labelGap","fitted"],"sources":["QueryGraphCanvasBlock.ts"],"sourcesContent":["/* eslint-disable no-param-reassign -- CanvasRenderingContext2D exposes drawing state as mutable properties. */\nimport {CanvasBlock, type TBlock} from '@gravity-ui/graph';\n\nimport type {QueryGraphNode, QueryGraphNodeStatus} from '../../../types/queryGraph';\nimport {getQueryGraphProgress} from '../helpers/layout';\nimport {\n fitCanvasFontSize,\n fitCanvasText,\n getQueryGraphNodeContent,\n getScaleAdjustedFontSize,\n} from '../helpers/presentation';\nimport {getQueryGraphStatusIconSvg} from './queryGraphIcons';\n\ntype QueryGraphBlockMeta = {\n node: QueryGraphNode;\n iconSvg: string;\n fallbackIconSvg: string;\n iconColorToken: string;\n fallbackIconColorToken: string;\n};\n\nexport type QueryGraphBlock = TBlock<QueryGraphBlockMeta>;\n\ntype ImageCacheEntry = {\n image: HTMLImageElement;\n state: 'loading' | 'loaded' | 'failed';\n listeners: Set<() => void>;\n};\n\nconst imageCache = new Map<string, ImageCacheEntry>();\nconst statusTokens = {\n 'not-started': ['--g-color-line-generic', '--g-color-base-float'],\n waiting: ['--g-color-text-misc-heavy', '--g-color-base-misc-light'],\n running: ['--g-color-line-generic', '--g-color-line-generic'],\n completed: ['--g-color-text-positive-heavy', '--g-color-base-positive-light'],\n failed: ['--g-color-text-danger-heavy', '--g-color-base-danger-light'],\n aborted: ['--g-color-text-complementary', '--g-color-base-generic'],\n} as const;\nconst statusIconTokens: Partial<Record<QueryGraphNodeStatus, string>> = {\n running: '--g-color-text-info',\n completed: '--g-color-text-positive-heavy',\n failed: '--g-color-text-danger-heavy',\n aborted: '--g-color-text-complementary',\n};\nconst resourceTokens = ['--g-color-line-generic', '--g-color-base-float'] as const;\nconst START_ANGLE = -Math.PI / 2;\nconst STATUS_ICON_SIZE_RATIO = 1 / 4;\nconst STATUS_ICON_BACKGROUND_RADIUS_RATIO = 1 / 6;\nconst PROGRESS_WIDTH_RATIO = 1 / 9;\nconst INNER_BORDER_WIDTH_RATIO = 1 / 25;\nconst COUNTER_MAX_WIDTH_RATIO = 7 / 9;\nconst LABEL_MAX_WIDTH_RATIO = 2;\nconst COUNTER_FONT_SIZE = 11;\nconst LABEL_FONT_SIZE = 9;\nconst LABEL_GAP = 4;\nconst RESOURCE_ICON_SIZE = 16;\n\nfunction cssValue(token: string, element?: Element) {\n if (typeof document === 'undefined') return '';\n return getComputedStyle(element ?? document.documentElement)\n .getPropertyValue(token)\n .trim();\n}\n\nfunction coloredSvgDataUrl(svg: string, color: string) {\n const markup = svg.split('currentColor').join(color || '#000');\n return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(markup)}`;\n}\n\nfunction getCanvasImage(svg: string, color: string, onSettled: () => void) {\n if (typeof Image === 'undefined') return undefined;\n const key = `${color}\\n${svg}`;\n let entry = imageCache.get(key);\n if (!entry) {\n const image = new Image();\n entry = {image, state: 'loading', listeners: new Set()};\n imageCache.set(key, entry);\n image.onload = () => {\n if (!entry) return;\n entry.state = 'loaded';\n entry.listeners.forEach((listener) => listener());\n entry.listeners.clear();\n };\n image.onerror = () => {\n if (!entry) return;\n entry.state = 'failed';\n entry.listeners.forEach((listener) => listener());\n entry.listeners.clear();\n };\n image.src = coloredSvgDataUrl(svg, color);\n }\n if (entry.state === 'loading') entry.listeners.add(onSettled);\n return entry;\n}\n\nexport class QueryGraphCanvasBlock extends CanvasBlock<QueryGraphBlock> {\n public override renderMinimalisticBlock(ctx: CanvasRenderingContext2D) {\n this.renderQueryNode(ctx);\n }\n\n public override renderSchematicView(ctx: CanvasRenderingContext2D) {\n this.renderQueryNode(ctx);\n }\n\n public override renderDetailedView(ctx: CanvasRenderingContext2D) {\n this.renderQueryNode(ctx);\n }\n\n private readonly redrawAfterImageLoad = () => this.performRender();\n\n private renderQueryNode(context: CanvasRenderingContext2D) {\n const {meta} = this.state;\n if (!meta?.node) return;\n const {node} = meta;\n const status = node.status ?? 'not-started';\n const [lineToken, baseToken] =\n node.kind === 'operation' ? statusTokens[status] : resourceTokens;\n\n context.save();\n if (node.kind === 'operation' && status === 'running') {\n this.drawRunningOperation(context, getQueryGraphProgress(node));\n } else {\n this.drawNodeShape(context, lineToken, baseToken);\n }\n\n const content = getQueryGraphNodeContent(node);\n if (content.kind === 'icon') {\n const {x, y, width, height} = this.state;\n const side = node.kind === 'operation' ? width / 2 : RESOURCE_ICON_SIZE;\n this.drawIcon(\n context,\n meta.iconSvg,\n meta.fallbackIconSvg,\n x + (width - side) / 2,\n y + (height - side) / 2,\n side,\n cssValue(meta.iconColorToken, context.canvas),\n cssValue(meta.fallbackIconColorToken, context.canvas),\n );\n } else if (content.kind === 'counter') {\n this.drawCounter(context, content.value);\n }\n\n if (node.kind === 'operation') this.drawStatusIcon(context, status);\n this.drawLabel(context, node.label ?? node.name, node.kind !== 'operation');\n context.restore();\n }\n\n private drawNodeShape(context: CanvasRenderingContext2D, lineToken: string, baseToken: string) {\n const {x, y, width, height, meta} = this.state;\n context.beginPath();\n if (meta?.node.kind === 'operation') {\n context.arc(x + width / 2, y + height / 2, width / 2 - 1, 0, Math.PI * 2);\n } else {\n context.roundRect(x + 1, y + 1, width - 2, height - 2, 12);\n }\n context.fillStyle = cssValue(baseToken, context.canvas);\n context.fill();\n context.lineWidth = 2;\n context.strokeStyle = cssValue(lineToken, context.canvas);\n context.stroke();\n }\n\n private drawRunningOperation(context: CanvasRenderingContext2D, progress: number) {\n const {x, y, width, height} = this.state;\n const centerX = x + width / 2;\n const centerY = y + height / 2;\n const radius = width / 2;\n const progressWidth = width * PROGRESS_WIDTH_RATIO;\n const endAngle = START_ANGLE + Math.PI * 2 * progress;\n const runningBase = cssValue('--g-color-line-generic', context.canvas);\n const runningLine = cssValue('--g-color-line-generic', context.canvas);\n const progressBase = cssValue('--g-color-base-info-light', context.canvas);\n const progressLine = cssValue('--g-color-text-info', context.canvas);\n const background = cssValue('--g-color-base-background', context.canvas);\n\n context.beginPath();\n context.arc(centerX, centerY, radius - progressWidth / 2, 0, Math.PI * 2);\n context.fillStyle = runningBase;\n context.fill();\n context.lineWidth = progressWidth;\n context.strokeStyle = runningLine;\n context.stroke();\n\n if (progress > 0) {\n context.beginPath();\n context.moveTo(centerX, centerY);\n context.arc(centerX, centerY, radius - progressWidth / 2, START_ANGLE, endAngle);\n context.closePath();\n context.fillStyle = progressBase;\n context.fill();\n\n context.beginPath();\n context.arc(centerX, centerY, radius - progressWidth / 2, START_ANGLE, endAngle);\n context.lineWidth = progressWidth;\n context.strokeStyle = progressLine;\n context.stroke();\n }\n\n context.beginPath();\n context.arc(centerX, centerY, radius - progressWidth, 0, Math.PI * 2);\n context.lineWidth = width * INNER_BORDER_WIDTH_RATIO;\n context.strokeStyle = background;\n context.stroke();\n }\n\n private drawCounter(context: CanvasRenderingContext2D, value: string) {\n const {x, y, width, height} = this.state;\n const maxFontSize = getScaleAdjustedFontSize(\n COUNTER_FONT_SIZE,\n this.context.graph.cameraService.getCameraScale(),\n );\n const fontFamily = cssValue('--g-font-family-sans', context.canvas);\n context.fillStyle = cssValue('--g-color-text-primary', context.canvas);\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.font = `500 ${maxFontSize}px ${fontFamily}`;\n const fontSize = fitCanvasFontSize(\n maxFontSize,\n context.measureText(value).width,\n width * COUNTER_MAX_WIDTH_RATIO,\n );\n context.font = `500 ${fontSize}px ${fontFamily}`;\n context.fillText(value, x + width / 2, y + height / 2);\n }\n\n private drawStatusIcon(context: CanvasRenderingContext2D, status: QueryGraphNodeStatus) {\n const iconSvg = getQueryGraphStatusIconSvg(status);\n const colorToken = statusIconTokens[status];\n if (!iconSvg || !colorToken) return;\n const {x, y, width} = this.state;\n const side = width * STATUS_ICON_SIZE_RATIO;\n const backgroundRadius = width * STATUS_ICON_BACKGROUND_RADIUS_RATIO;\n const iconX = x + width - side;\n const iconY = y;\n\n context.beginPath();\n context.arc(iconX + side / 2, iconY + side / 2, backgroundRadius, 0, Math.PI * 2);\n context.fillStyle = cssValue('--g-color-base-background', context.canvas);\n context.fill();\n this.drawIcon(\n context,\n iconSvg,\n iconSvg,\n iconX,\n iconY,\n side,\n cssValue(colorToken, context.canvas),\n cssValue(colorToken, context.canvas),\n );\n }\n\n private drawIcon(\n context: CanvasRenderingContext2D,\n svg: string,\n fallbackSvg: string,\n x: number,\n y: number,\n side: number,\n color: string,\n fallbackColor: string,\n ) {\n let entry = getCanvasImage(svg, color, this.redrawAfterImageLoad);\n if (entry?.state === 'failed' && fallbackSvg !== svg) {\n entry = getCanvasImage(fallbackSvg, fallbackColor, this.redrawAfterImageLoad);\n }\n if (entry?.state === 'loaded') context.drawImage(entry.image, x, y, side, side);\n }\n\n private drawLabel(context: CanvasRenderingContext2D, label: string, trimStart: boolean) {\n const {x, y, width, height} = this.state;\n const cameraScale = this.context.graph.cameraService.getCameraScale();\n const fontSize = getScaleAdjustedFontSize(LABEL_FONT_SIZE, cameraScale);\n const labelGap = getScaleAdjustedFontSize(LABEL_GAP, cameraScale);\n context.fillStyle = cssValue('--g-color-text-primary', context.canvas);\n context.textAlign = 'center';\n context.textBaseline = 'top';\n context.font = `400 ${fontSize}px ${cssValue('--g-font-family-sans', context.canvas)}`;\n const fitted = fitCanvasText(context, label, width * LABEL_MAX_WIDTH_RATIO, trimStart);\n context.fillText(fitted, x + width / 2, y + height + labelGap);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { QueryGraphNode } from '../../../types/queryGraph';
3
+ export declare function QueryGraphPopup({ node }: {
4
+ node: QueryGraphNode;
5
+ }): React.JSX.Element;