@gravity-ui/querieskit 1.2.0 → 1.3.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 (676) hide show
  1. package/.agents/skills/code-review-checklist/SKILL.md +62 -103
  2. package/AGENTS.md +12 -0
  3. package/CHANGELOG.md +17 -0
  4. package/CODEOWNERS +2 -1
  5. package/build/cjs/components/AttachmentList/AttachmentList.css +22 -0
  6. package/build/cjs/components/AttachmentList/AttachmentList.css.map +1 -0
  7. package/build/cjs/components/AttachmentList/AttachmentList.d.ts +17 -0
  8. package/build/cjs/components/AttachmentList/AttachmentList.js +75 -0
  9. package/build/cjs/components/AttachmentList/AttachmentList.js.map +1 -0
  10. package/build/cjs/components/AttachmentList/AttachmentList.stories.d.ts +93 -0
  11. package/build/cjs/components/AttachmentList/AttachmentList.stories.js +323 -0
  12. package/build/cjs/components/AttachmentList/AttachmentList.stories.js.map +1 -0
  13. package/build/cjs/components/AttachmentList/helpers/getIconByAttachmentName.d.ts +2 -0
  14. package/build/cjs/components/AttachmentList/helpers/getIconByAttachmentName.js +36 -0
  15. package/build/cjs/components/AttachmentList/helpers/getIconByAttachmentName.js.map +1 -0
  16. package/build/cjs/components/AttachmentList/helpers/objectLinkValidator.d.ts +11 -0
  17. package/build/cjs/components/AttachmentList/helpers/objectLinkValidator.js +30 -0
  18. package/build/cjs/components/AttachmentList/helpers/objectLinkValidator.js.map +1 -0
  19. package/build/cjs/components/AttachmentList/helpers/stringRequiredValidator.d.ts +2 -0
  20. package/build/cjs/components/AttachmentList/helpers/stringRequiredValidator.js +26 -0
  21. package/build/cjs/components/AttachmentList/helpers/stringRequiredValidator.js.map +1 -0
  22. package/build/cjs/components/AttachmentList/hooks/useKeyDownFormControl.d.ts +4 -0
  23. package/build/cjs/components/AttachmentList/hooks/useKeyDownFormControl.js +27 -0
  24. package/build/cjs/components/AttachmentList/hooks/useKeyDownFormControl.js.map +1 -0
  25. package/build/cjs/components/AttachmentList/hooks/useLabelRef.d.ts +4 -0
  26. package/build/cjs/components/AttachmentList/hooks/useLabelRef.js +35 -0
  27. package/build/cjs/components/AttachmentList/hooks/useLabelRef.js.map +1 -0
  28. package/build/cjs/components/AttachmentList/i18n/dicts.d.ts +23 -0
  29. package/build/cjs/components/AttachmentList/i18n/dicts.js +14 -0
  30. package/build/cjs/components/AttachmentList/i18n/dicts.js.map +1 -0
  31. package/build/cjs/components/AttachmentList/i18n/en.json +10 -0
  32. package/build/cjs/components/AttachmentList/i18n/index.d.ts +6 -0
  33. package/build/cjs/components/AttachmentList/i18n/index.js +11 -0
  34. package/build/cjs/components/AttachmentList/i18n/index.js.map +1 -0
  35. package/build/cjs/components/AttachmentList/i18n/ru.json +10 -0
  36. package/build/cjs/components/AttachmentList/index.d.ts +4 -0
  37. package/build/cjs/components/AttachmentList/index.js +40 -0
  38. package/build/cjs/components/AttachmentList/index.js.map +1 -0
  39. package/build/cjs/components/AttachmentList/internal/AttachmentItem/AttachmentItem.css +18 -0
  40. package/build/cjs/components/AttachmentList/internal/AttachmentItem/AttachmentItem.css.map +1 -0
  41. package/build/cjs/components/AttachmentList/internal/AttachmentItem/AttachmentItem.d.ts +16 -0
  42. package/build/cjs/components/AttachmentList/internal/AttachmentItem/AttachmentItem.js +106 -0
  43. package/build/cjs/components/AttachmentList/internal/AttachmentItem/AttachmentItem.js.map +1 -0
  44. package/build/cjs/components/AttachmentList/internal/AttachmentItem/index.d.ts +2 -0
  45. package/build/cjs/components/AttachmentList/internal/AttachmentItem/index.js +13 -0
  46. package/build/cjs/components/AttachmentList/internal/AttachmentItem/index.js.map +1 -0
  47. package/build/cjs/components/AttachmentList/internal/EditAttachmentItem/EditAttachmentItem.d.ts +9 -0
  48. package/build/cjs/components/AttachmentList/internal/EditAttachmentItem/EditAttachmentItem.js +22 -0
  49. package/build/cjs/components/AttachmentList/internal/EditAttachmentItem/EditAttachmentItem.js.map +1 -0
  50. package/build/cjs/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.css +17 -0
  51. package/build/cjs/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.css.map +1 -0
  52. package/build/cjs/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.d.ts +24 -0
  53. package/build/cjs/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.js +175 -0
  54. package/build/cjs/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.js.map +1 -0
  55. package/build/cjs/components/AttachmentList/internal/EditAttachmentItem/FileEdit.d.ts +12 -0
  56. package/build/cjs/components/AttachmentList/internal/EditAttachmentItem/FileEdit.js +91 -0
  57. package/build/cjs/components/AttachmentList/internal/EditAttachmentItem/FileEdit.js.map +1 -0
  58. package/build/cjs/components/AttachmentList/internal/EditAttachmentItem/index.d.ts +4 -0
  59. package/build/cjs/components/AttachmentList/internal/EditAttachmentItem/index.js +13 -0
  60. package/build/cjs/components/AttachmentList/internal/EditAttachmentItem/index.js.map +1 -0
  61. package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.css +4 -0
  62. package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.css.map +1 -0
  63. package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.d.ts +13 -0
  64. package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js +75 -0
  65. package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js.map +1 -0
  66. package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.stories.d.ts +29 -0
  67. package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.stories.js +36 -0
  68. package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.stories.js.map +1 -0
  69. package/build/cjs/components/AttachmentListPlaceholder/i18n/dicts.d.ts +17 -0
  70. package/build/cjs/components/AttachmentListPlaceholder/i18n/dicts.js +14 -0
  71. package/build/cjs/components/AttachmentListPlaceholder/i18n/dicts.js.map +1 -0
  72. package/build/cjs/components/AttachmentListPlaceholder/i18n/en.json +7 -0
  73. package/build/cjs/components/AttachmentListPlaceholder/i18n/index.d.ts +6 -0
  74. package/build/cjs/components/AttachmentListPlaceholder/i18n/index.js +11 -0
  75. package/build/cjs/components/AttachmentListPlaceholder/i18n/index.js.map +1 -0
  76. package/build/cjs/components/AttachmentListPlaceholder/i18n/ru.json +7 -0
  77. package/build/cjs/components/AttachmentListPlaceholder/index.d.ts +2 -0
  78. package/build/cjs/components/AttachmentListPlaceholder/index.js +13 -0
  79. package/build/cjs/components/AttachmentListPlaceholder/index.js.map +1 -0
  80. package/build/cjs/components/DataTable/DataTable.css +0 -7
  81. package/build/cjs/components/DataTable/DataTable.css.map +1 -1
  82. package/build/cjs/components/DataTable/DataTable.js +12 -5
  83. package/build/cjs/components/DataTable/DataTable.js.map +1 -1
  84. package/build/cjs/components/ErrorTree/ErrorTree.d.ts +3 -0
  85. package/build/cjs/components/ErrorTree/ErrorTree.js +35 -0
  86. package/build/cjs/components/ErrorTree/ErrorTree.js.map +1 -0
  87. package/build/cjs/components/ErrorTree/ErrorTree.stories.d.ts +8 -0
  88. package/build/cjs/components/ErrorTree/ErrorTree.stories.js +101 -0
  89. package/build/cjs/components/ErrorTree/ErrorTree.stories.js.map +1 -0
  90. package/build/cjs/components/ErrorTree/helpers/formatAttributes.d.ts +2 -0
  91. package/build/cjs/components/ErrorTree/helpers/formatAttributes.js +16 -0
  92. package/build/cjs/components/ErrorTree/helpers/formatAttributes.js.map +1 -0
  93. package/build/cjs/components/ErrorTree/helpers/getIntermediateChain.d.ts +6 -0
  94. package/build/cjs/components/ErrorTree/helpers/getIntermediateChain.js +22 -0
  95. package/build/cjs/components/ErrorTree/helpers/getIntermediateChain.js.map +1 -0
  96. package/build/cjs/components/ErrorTree/i18n/dicts.d.ts +27 -0
  97. package/build/cjs/components/ErrorTree/i18n/dicts.js +14 -0
  98. package/build/cjs/components/ErrorTree/i18n/dicts.js.map +1 -0
  99. package/build/cjs/components/ErrorTree/i18n/en.json +11 -0
  100. package/build/cjs/components/ErrorTree/i18n/index.d.ts +6 -0
  101. package/build/cjs/components/ErrorTree/i18n/index.js +11 -0
  102. package/build/cjs/components/ErrorTree/i18n/index.js.map +1 -0
  103. package/build/cjs/components/ErrorTree/i18n/ru.json +13 -0
  104. package/build/cjs/components/ErrorTree/index.d.ts +1 -0
  105. package/build/cjs/components/ErrorTree/index.js +13 -0
  106. package/build/cjs/components/ErrorTree/index.js.map +1 -0
  107. package/build/cjs/components/ErrorTree/internal/ErrorTreeChildren.css +4 -0
  108. package/build/cjs/components/ErrorTree/internal/ErrorTreeChildren.css.map +1 -0
  109. package/build/cjs/components/ErrorTree/internal/ErrorTreeChildren.d.ts +10 -0
  110. package/build/cjs/components/ErrorTree/internal/ErrorTreeChildren.js +32 -0
  111. package/build/cjs/components/ErrorTree/internal/ErrorTreeChildren.js.map +1 -0
  112. package/build/cjs/components/ErrorTree/internal/ErrorTreeNode.css +80 -0
  113. package/build/cjs/components/ErrorTree/internal/ErrorTreeNode.css.map +1 -0
  114. package/build/cjs/components/ErrorTree/internal/ErrorTreeNode.d.ts +13 -0
  115. package/build/cjs/components/ErrorTree/internal/ErrorTreeNode.js +274 -0
  116. package/build/cjs/components/ErrorTree/internal/ErrorTreeNode.js.map +1 -0
  117. package/build/cjs/components/ErrorTree/internal/IntermediateMessages.css +10 -0
  118. package/build/cjs/components/ErrorTree/internal/IntermediateMessages.css.map +1 -0
  119. package/build/cjs/components/ErrorTree/internal/IntermediateMessages.d.ts +9 -0
  120. package/build/cjs/components/ErrorTree/internal/IntermediateMessages.js +118 -0
  121. package/build/cjs/components/ErrorTree/internal/IntermediateMessages.js.map +1 -0
  122. package/build/cjs/components/Icons/LogoCPlusPlus.d.ts +2 -0
  123. package/build/cjs/components/Icons/LogoCPlusPlus.js +35 -0
  124. package/build/cjs/components/Icons/LogoCPlusPlus.js.map +1 -0
  125. package/build/cjs/components/Icons/index.d.ts +1 -0
  126. package/build/cjs/components/Icons/index.js +13 -0
  127. package/build/cjs/components/Icons/index.js.map +1 -0
  128. package/build/cjs/components/QueryResultsTable/QueryResultsTable.css +53 -0
  129. package/build/cjs/components/QueryResultsTable/QueryResultsTable.css.map +1 -0
  130. package/build/cjs/components/QueryResultsTable/QueryResultsTable.d.ts +24 -0
  131. package/build/cjs/components/QueryResultsTable/QueryResultsTable.js +104 -0
  132. package/build/cjs/components/QueryResultsTable/QueryResultsTable.js.map +1 -0
  133. package/build/cjs/components/QueryResultsTable/helpers/formatQueryResultType.d.ts +3 -0
  134. package/build/cjs/components/QueryResultsTable/helpers/formatQueryResultType.js +90 -0
  135. package/build/cjs/components/QueryResultsTable/helpers/formatQueryResultType.js.map +1 -0
  136. package/build/cjs/components/QueryResultsTable/helpers/formatQueryResultValue.d.ts +11 -0
  137. package/build/cjs/components/QueryResultsTable/helpers/formatQueryResultValue.js +40 -0
  138. package/build/cjs/components/QueryResultsTable/helpers/formatQueryResultValue.js.map +1 -0
  139. package/build/cjs/components/QueryResultsTable/i18n/dicts.d.ts +13 -0
  140. package/build/cjs/components/QueryResultsTable/i18n/dicts.js +14 -0
  141. package/build/cjs/components/QueryResultsTable/i18n/dicts.js.map +1 -0
  142. package/build/cjs/components/QueryResultsTable/i18n/en.json +5 -0
  143. package/build/cjs/components/QueryResultsTable/i18n/index.d.ts +6 -0
  144. package/build/cjs/components/QueryResultsTable/i18n/index.js +11 -0
  145. package/build/cjs/components/QueryResultsTable/i18n/index.js.map +1 -0
  146. package/build/cjs/components/QueryResultsTable/i18n/ru.json +5 -0
  147. package/build/cjs/components/QueryResultsTable/index.d.ts +3 -0
  148. package/build/cjs/components/QueryResultsTable/index.js +20 -0
  149. package/build/cjs/components/QueryResultsTable/index.js.map +1 -0
  150. package/build/cjs/components/QueryResultsTable/internal/QueryResultCell.d.ts +11 -0
  151. package/build/cjs/components/QueryResultsTable/internal/QueryResultCell.js +79 -0
  152. package/build/cjs/components/QueryResultsTable/internal/QueryResultCell.js.map +1 -0
  153. package/build/cjs/components/index.d.ts +5 -0
  154. package/build/cjs/components/index.js +48 -1
  155. package/build/cjs/components/index.js.map +1 -1
  156. package/build/cjs/helpers/createUuid.d.ts +1 -0
  157. package/build/cjs/helpers/createUuid.js +12 -0
  158. package/build/cjs/helpers/createUuid.js.map +1 -0
  159. package/build/cjs/helpers/isObjectEqual.d.ts +1 -0
  160. package/build/cjs/helpers/isObjectEqual.js +30 -0
  161. package/build/cjs/helpers/isObjectEqual.js.map +1 -0
  162. package/build/cjs/helpers/useDebouncedValue.d.ts +2 -0
  163. package/build/cjs/helpers/useDebouncedValue.js +27 -0
  164. package/build/cjs/helpers/useDebouncedValue.js.map +1 -0
  165. package/build/cjs/index.d.ts +3 -0
  166. package/build/cjs/index.js +33 -0
  167. package/build/cjs/index.js.map +1 -1
  168. package/build/cjs/modules/Attachments/Attachments.css +8 -0
  169. package/build/cjs/modules/Attachments/Attachments.css.map +1 -0
  170. package/build/cjs/modules/Attachments/Attachments.d.ts +22 -0
  171. package/build/cjs/modules/Attachments/Attachments.js +381 -0
  172. package/build/cjs/modules/Attachments/Attachments.js.map +1 -0
  173. package/build/cjs/modules/Attachments/Attachments.stories.d.ts +41 -0
  174. package/build/cjs/modules/Attachments/Attachments.stories.js +123 -0
  175. package/build/cjs/modules/Attachments/Attachments.stories.js.map +1 -0
  176. package/build/cjs/modules/Attachments/i18n/dicts.d.ts +13 -0
  177. package/build/cjs/modules/Attachments/i18n/dicts.js +14 -0
  178. package/build/cjs/modules/Attachments/i18n/dicts.js.map +1 -0
  179. package/build/cjs/modules/Attachments/i18n/en.json +5 -0
  180. package/build/cjs/modules/Attachments/i18n/index.d.ts +6 -0
  181. package/build/cjs/modules/Attachments/i18n/index.js +11 -0
  182. package/build/cjs/modules/Attachments/i18n/index.js.map +1 -0
  183. package/build/cjs/modules/Attachments/i18n/ru.json +5 -0
  184. package/build/cjs/modules/Attachments/index.d.ts +2 -0
  185. package/build/cjs/modules/Attachments/index.js +13 -0
  186. package/build/cjs/modules/Attachments/index.js.map +1 -0
  187. package/build/cjs/modules/NavigationPreview/NavigationPreview.css +7 -1
  188. package/build/cjs/modules/NavigationPreview/NavigationPreview.css.map +1 -1
  189. package/build/cjs/modules/NavigationPreview/NavigationPreview.d.ts +2 -2
  190. package/build/cjs/modules/NavigationPreview/NavigationPreview.js +37 -7
  191. package/build/cjs/modules/NavigationPreview/NavigationPreview.js.map +1 -1
  192. package/build/cjs/modules/NavigationPreview/story/NavigationPreview.stories.d.ts +1 -0
  193. package/build/cjs/modules/NavigationPreview/story/NavigationPreview.stories.js +25 -1
  194. package/build/cjs/modules/NavigationPreview/story/NavigationPreview.stories.js.map +1 -1
  195. package/build/cjs/modules/NavigationPreview/story/mockData.d.ts +2 -2
  196. package/build/cjs/modules/NavigationPreview/story/mockData.js +16 -4
  197. package/build/cjs/modules/NavigationPreview/story/mockData.js.map +1 -1
  198. package/build/cjs/modules/QueryStatistics/QueryStatistics.css +4 -0
  199. package/build/cjs/modules/QueryStatistics/QueryStatistics.css.map +1 -0
  200. package/build/cjs/modules/QueryStatistics/QueryStatistics.d.ts +4 -0
  201. package/build/cjs/modules/QueryStatistics/QueryStatistics.js +151 -0
  202. package/build/cjs/modules/QueryStatistics/QueryStatistics.js.map +1 -0
  203. package/build/cjs/modules/QueryStatistics/helpers.d.ts +15 -0
  204. package/build/cjs/modules/QueryStatistics/helpers.js +118 -0
  205. package/build/cjs/modules/QueryStatistics/helpers.js.map +1 -0
  206. package/build/cjs/modules/QueryStatistics/i18n/dicts.d.ts +35 -0
  207. package/build/cjs/modules/QueryStatistics/i18n/dicts.js +14 -0
  208. package/build/cjs/modules/QueryStatistics/i18n/dicts.js.map +1 -0
  209. package/build/cjs/modules/QueryStatistics/i18n/en.json +16 -0
  210. package/build/cjs/modules/QueryStatistics/i18n/index.d.ts +6 -0
  211. package/build/cjs/modules/QueryStatistics/i18n/index.js +11 -0
  212. package/build/cjs/modules/QueryStatistics/i18n/index.js.map +1 -0
  213. package/build/cjs/modules/QueryStatistics/i18n/ru.json +16 -0
  214. package/build/cjs/modules/QueryStatistics/index.d.ts +2 -0
  215. package/build/cjs/modules/QueryStatistics/index.js +13 -0
  216. package/build/cjs/modules/QueryStatistics/index.js.map +1 -0
  217. package/build/cjs/modules/QueryStatistics/internal/MetricCell.css +36 -0
  218. package/build/cjs/modules/QueryStatistics/internal/MetricCell.css.map +1 -0
  219. package/build/cjs/modules/QueryStatistics/internal/MetricCell.d.ts +9 -0
  220. package/build/cjs/modules/QueryStatistics/internal/MetricCell.js +121 -0
  221. package/build/cjs/modules/QueryStatistics/internal/MetricCell.js.map +1 -0
  222. package/build/cjs/modules/QueryStatistics/internal/QueryStatisticsTable.css +21 -0
  223. package/build/cjs/modules/QueryStatistics/internal/QueryStatisticsTable.css.map +1 -0
  224. package/build/cjs/modules/QueryStatistics/internal/QueryStatisticsTable.d.ts +20 -0
  225. package/build/cjs/modules/QueryStatistics/internal/QueryStatisticsTable.js +140 -0
  226. package/build/cjs/modules/QueryStatistics/internal/QueryStatisticsTable.js.map +1 -0
  227. package/build/cjs/modules/QueryStatistics/internal/QueryStatisticsToolbar.css +5 -0
  228. package/build/cjs/modules/QueryStatistics/internal/QueryStatisticsToolbar.css.map +1 -0
  229. package/build/cjs/modules/QueryStatistics/internal/QueryStatisticsToolbar.d.ts +10 -0
  230. package/build/cjs/modules/QueryStatistics/internal/QueryStatisticsToolbar.js +55 -0
  231. package/build/cjs/modules/QueryStatistics/internal/QueryStatisticsToolbar.js.map +1 -0
  232. package/build/cjs/modules/QueryStatistics/story/QueryStatistics.stories.d.ts +8 -0
  233. package/build/cjs/modules/QueryStatistics/story/QueryStatistics.stories.js +112 -0
  234. package/build/cjs/modules/QueryStatistics/story/QueryStatistics.stories.js.map +1 -0
  235. package/build/cjs/modules/index.d.ts +3 -0
  236. package/build/cjs/modules/index.js +20 -0
  237. package/build/cjs/modules/index.js.map +1 -1
  238. package/build/cjs/types/declarations.d.ts +10 -0
  239. package/build/cjs/types/errorTree.d.ts +23 -0
  240. package/build/cjs/types/errorTree.js +6 -0
  241. package/build/cjs/types/errorTree.js.map +1 -0
  242. package/build/cjs/types/navigation.d.ts +8 -1
  243. package/build/cjs/types/navigation.js.map +1 -1
  244. package/build/cjs/types/queryResults.d.ts +34 -0
  245. package/build/cjs/types/queryResults.js +6 -0
  246. package/build/cjs/types/queryResults.js.map +1 -0
  247. package/build/cjs/types/queryStatistics.d.ts +54 -0
  248. package/build/cjs/types/queryStatistics.js +6 -0
  249. package/build/cjs/types/queryStatistics.js.map +1 -0
  250. package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.stories.js +40 -35
  251. package/build/cjs/widgets/QueriesNavigation/QueriesNavigation.stories.js.map +1 -1
  252. package/build/cjs/widgets/QueriesNavigation/i18n/index.d.ts +2 -2
  253. package/build/cjs/widgets/QueryResults/QueryResults.css +19 -0
  254. package/build/cjs/widgets/QueryResults/QueryResults.css.map +1 -0
  255. package/build/cjs/widgets/QueryResults/QueryResults.d.ts +23 -0
  256. package/build/cjs/widgets/QueryResults/QueryResults.js +119 -0
  257. package/build/cjs/widgets/QueryResults/QueryResults.js.map +1 -0
  258. package/build/cjs/widgets/QueryResults/QueryResults.stories.d.ts +19 -0
  259. package/build/cjs/widgets/QueryResults/QueryResults.stories.js +199 -0
  260. package/build/cjs/widgets/QueryResults/QueryResults.stories.js.map +1 -0
  261. package/build/cjs/widgets/QueryResults/i18n/dicts.d.ts +25 -0
  262. package/build/cjs/widgets/QueryResults/i18n/dicts.js +14 -0
  263. package/build/cjs/widgets/QueryResults/i18n/dicts.js.map +1 -0
  264. package/build/cjs/widgets/QueryResults/i18n/en.json +10 -0
  265. package/build/cjs/widgets/QueryResults/i18n/index.d.ts +6 -0
  266. package/build/cjs/widgets/QueryResults/i18n/index.js +11 -0
  267. package/build/cjs/widgets/QueryResults/i18n/index.js.map +1 -0
  268. package/build/cjs/widgets/QueryResults/i18n/ru.json +12 -0
  269. package/build/cjs/widgets/QueryResults/index.d.ts +2 -0
  270. package/build/cjs/widgets/QueryResults/index.js +13 -0
  271. package/build/cjs/widgets/QueryResults/index.js.map +1 -0
  272. package/build/cjs/widgets/QueryResults/internal/QueryResultsSchema.d.ts +7 -0
  273. package/build/cjs/widgets/QueryResults/internal/QueryResultsSchema.js +49 -0
  274. package/build/cjs/widgets/QueryResults/internal/QueryResultsSchema.js.map +1 -0
  275. package/build/cjs/widgets/index.d.ts +2 -0
  276. package/build/cjs/widgets/index.js +7 -0
  277. package/build/cjs/widgets/index.js.map +1 -1
  278. package/build/esm/components/AttachmentList/AttachmentList.css +22 -0
  279. package/build/esm/components/AttachmentList/AttachmentList.css.map +1 -0
  280. package/build/esm/components/AttachmentList/AttachmentList.d.ts +17 -0
  281. package/build/esm/components/AttachmentList/AttachmentList.js +67 -0
  282. package/build/esm/components/AttachmentList/AttachmentList.js.map +1 -0
  283. package/build/esm/components/AttachmentList/AttachmentList.scss +25 -0
  284. package/build/esm/components/AttachmentList/AttachmentList.stories.d.ts +93 -0
  285. package/build/esm/components/AttachmentList/AttachmentList.stories.js +315 -0
  286. package/build/esm/components/AttachmentList/AttachmentList.stories.js.map +1 -0
  287. package/build/esm/components/AttachmentList/helpers/getIconByAttachmentName.d.ts +2 -0
  288. package/build/esm/components/AttachmentList/helpers/getIconByAttachmentName.js +30 -0
  289. package/build/esm/components/AttachmentList/helpers/getIconByAttachmentName.js.map +1 -0
  290. package/build/esm/components/AttachmentList/helpers/objectLinkValidator.d.ts +11 -0
  291. package/build/esm/components/AttachmentList/helpers/objectLinkValidator.js +24 -0
  292. package/build/esm/components/AttachmentList/helpers/objectLinkValidator.js.map +1 -0
  293. package/build/esm/components/AttachmentList/helpers/stringRequiredValidator.d.ts +2 -0
  294. package/build/esm/components/AttachmentList/helpers/stringRequiredValidator.js +19 -0
  295. package/build/esm/components/AttachmentList/helpers/stringRequiredValidator.js.map +1 -0
  296. package/build/esm/components/AttachmentList/hooks/useKeyDownFormControl.d.ts +4 -0
  297. package/build/esm/components/AttachmentList/hooks/useKeyDownFormControl.js +21 -0
  298. package/build/esm/components/AttachmentList/hooks/useKeyDownFormControl.js.map +1 -0
  299. package/build/esm/components/AttachmentList/hooks/useLabelRef.d.ts +4 -0
  300. package/build/esm/components/AttachmentList/hooks/useLabelRef.js +28 -0
  301. package/build/esm/components/AttachmentList/hooks/useLabelRef.js.map +1 -0
  302. package/build/esm/components/AttachmentList/i18n/dicts.d.ts +23 -0
  303. package/build/esm/components/AttachmentList/i18n/dicts.js +7 -0
  304. package/build/esm/components/AttachmentList/i18n/dicts.js.map +1 -0
  305. package/build/esm/components/AttachmentList/i18n/en.json +10 -0
  306. package/build/esm/components/AttachmentList/i18n/index.d.ts +6 -0
  307. package/build/esm/components/AttachmentList/i18n/index.js +4 -0
  308. package/build/esm/components/AttachmentList/i18n/index.js.map +1 -0
  309. package/build/esm/components/AttachmentList/i18n/ru.json +10 -0
  310. package/build/esm/components/AttachmentList/index.d.ts +4 -0
  311. package/build/esm/components/AttachmentList/index.js +4 -0
  312. package/build/esm/components/AttachmentList/index.js.map +1 -0
  313. package/build/esm/components/AttachmentList/internal/AttachmentItem/AttachmentItem.css +18 -0
  314. package/build/esm/components/AttachmentList/internal/AttachmentItem/AttachmentItem.css.map +1 -0
  315. package/build/esm/components/AttachmentList/internal/AttachmentItem/AttachmentItem.d.ts +16 -0
  316. package/build/esm/components/AttachmentList/internal/AttachmentItem/AttachmentItem.js +98 -0
  317. package/build/esm/components/AttachmentList/internal/AttachmentItem/AttachmentItem.js.map +1 -0
  318. package/build/esm/components/AttachmentList/internal/AttachmentItem/AttachmentItem.scss +23 -0
  319. package/build/esm/components/AttachmentList/internal/AttachmentItem/index.d.ts +2 -0
  320. package/build/esm/components/AttachmentList/internal/AttachmentItem/index.js +2 -0
  321. package/build/esm/components/AttachmentList/internal/AttachmentItem/index.js.map +1 -0
  322. package/build/esm/components/AttachmentList/internal/EditAttachmentItem/EditAttachmentItem.d.ts +9 -0
  323. package/build/esm/components/AttachmentList/internal/EditAttachmentItem/EditAttachmentItem.js +15 -0
  324. package/build/esm/components/AttachmentList/internal/EditAttachmentItem/EditAttachmentItem.js.map +1 -0
  325. package/build/esm/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.css +17 -0
  326. package/build/esm/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.css.map +1 -0
  327. package/build/esm/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.d.ts +24 -0
  328. package/build/esm/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.js +167 -0
  329. package/build/esm/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.js.map +1 -0
  330. package/build/esm/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.scss +21 -0
  331. package/build/esm/components/AttachmentList/internal/EditAttachmentItem/FileEdit.d.ts +12 -0
  332. package/build/esm/components/AttachmentList/internal/EditAttachmentItem/FileEdit.js +83 -0
  333. package/build/esm/components/AttachmentList/internal/EditAttachmentItem/FileEdit.js.map +1 -0
  334. package/build/esm/components/AttachmentList/internal/EditAttachmentItem/index.d.ts +4 -0
  335. package/build/esm/components/AttachmentList/internal/EditAttachmentItem/index.js +2 -0
  336. package/build/esm/components/AttachmentList/internal/EditAttachmentItem/index.js.map +1 -0
  337. package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.css +4 -0
  338. package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.css.map +1 -0
  339. package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.d.ts +13 -0
  340. package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js +68 -0
  341. package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js.map +1 -0
  342. package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.scss +5 -0
  343. package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.stories.d.ts +29 -0
  344. package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.stories.js +29 -0
  345. package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.stories.js.map +1 -0
  346. package/build/esm/components/AttachmentListPlaceholder/i18n/dicts.d.ts +17 -0
  347. package/build/esm/components/AttachmentListPlaceholder/i18n/dicts.js +7 -0
  348. package/build/esm/components/AttachmentListPlaceholder/i18n/dicts.js.map +1 -0
  349. package/build/esm/components/AttachmentListPlaceholder/i18n/en.json +7 -0
  350. package/build/esm/components/AttachmentListPlaceholder/i18n/index.d.ts +6 -0
  351. package/build/esm/components/AttachmentListPlaceholder/i18n/index.js +4 -0
  352. package/build/esm/components/AttachmentListPlaceholder/i18n/index.js.map +1 -0
  353. package/build/esm/components/AttachmentListPlaceholder/i18n/ru.json +7 -0
  354. package/build/esm/components/AttachmentListPlaceholder/index.d.ts +2 -0
  355. package/build/esm/components/AttachmentListPlaceholder/index.js +2 -0
  356. package/build/esm/components/AttachmentListPlaceholder/index.js.map +1 -0
  357. package/build/esm/components/DataTable/DataTable.css +0 -7
  358. package/build/esm/components/DataTable/DataTable.css.map +1 -1
  359. package/build/esm/components/DataTable/DataTable.js +12 -5
  360. package/build/esm/components/DataTable/DataTable.js.map +1 -1
  361. package/build/esm/components/DataTable/DataTable.scss +18 -26
  362. package/build/esm/components/ErrorTree/ErrorTree.d.ts +3 -0
  363. package/build/esm/components/ErrorTree/ErrorTree.js +28 -0
  364. package/build/esm/components/ErrorTree/ErrorTree.js.map +1 -0
  365. package/build/esm/components/ErrorTree/ErrorTree.stories.d.ts +8 -0
  366. package/build/esm/components/ErrorTree/ErrorTree.stories.js +94 -0
  367. package/build/esm/components/ErrorTree/ErrorTree.stories.js.map +1 -0
  368. package/build/esm/components/ErrorTree/helpers/formatAttributes.d.ts +2 -0
  369. package/build/esm/components/ErrorTree/helpers/formatAttributes.js +10 -0
  370. package/build/esm/components/ErrorTree/helpers/formatAttributes.js.map +1 -0
  371. package/build/esm/components/ErrorTree/helpers/getIntermediateChain.d.ts +6 -0
  372. package/build/esm/components/ErrorTree/helpers/getIntermediateChain.js +16 -0
  373. package/build/esm/components/ErrorTree/helpers/getIntermediateChain.js.map +1 -0
  374. package/build/esm/components/ErrorTree/i18n/dicts.d.ts +27 -0
  375. package/build/esm/components/ErrorTree/i18n/dicts.js +7 -0
  376. package/build/esm/components/ErrorTree/i18n/dicts.js.map +1 -0
  377. package/build/esm/components/ErrorTree/i18n/en.json +11 -0
  378. package/build/esm/components/ErrorTree/i18n/index.d.ts +6 -0
  379. package/build/esm/components/ErrorTree/i18n/index.js +4 -0
  380. package/build/esm/components/ErrorTree/i18n/index.js.map +1 -0
  381. package/build/esm/components/ErrorTree/i18n/ru.json +13 -0
  382. package/build/esm/components/ErrorTree/index.d.ts +1 -0
  383. package/build/esm/components/ErrorTree/index.js +2 -0
  384. package/build/esm/components/ErrorTree/index.js.map +1 -0
  385. package/build/esm/components/ErrorTree/internal/ErrorTreeChildren.css +4 -0
  386. package/build/esm/components/ErrorTree/internal/ErrorTreeChildren.css.map +1 -0
  387. package/build/esm/components/ErrorTree/internal/ErrorTreeChildren.d.ts +10 -0
  388. package/build/esm/components/ErrorTree/internal/ErrorTreeChildren.js +25 -0
  389. package/build/esm/components/ErrorTree/internal/ErrorTreeChildren.js.map +1 -0
  390. package/build/esm/components/ErrorTree/internal/ErrorTreeChildren.scss +5 -0
  391. package/build/esm/components/ErrorTree/internal/ErrorTreeNode.css +80 -0
  392. package/build/esm/components/ErrorTree/internal/ErrorTreeNode.css.map +1 -0
  393. package/build/esm/components/ErrorTree/internal/ErrorTreeNode.d.ts +13 -0
  394. package/build/esm/components/ErrorTree/internal/ErrorTreeNode.js +266 -0
  395. package/build/esm/components/ErrorTree/internal/ErrorTreeNode.js.map +1 -0
  396. package/build/esm/components/ErrorTree/internal/ErrorTreeNode.scss +95 -0
  397. package/build/esm/components/ErrorTree/internal/IntermediateMessages.css +10 -0
  398. package/build/esm/components/ErrorTree/internal/IntermediateMessages.css.map +1 -0
  399. package/build/esm/components/ErrorTree/internal/IntermediateMessages.d.ts +9 -0
  400. package/build/esm/components/ErrorTree/internal/IntermediateMessages.js +110 -0
  401. package/build/esm/components/ErrorTree/internal/IntermediateMessages.js.map +1 -0
  402. package/build/esm/components/ErrorTree/internal/IntermediateMessages.scss +13 -0
  403. package/build/esm/components/Icons/LogoCPlusPlus.d.ts +2 -0
  404. package/build/esm/components/Icons/LogoCPlusPlus.js +28 -0
  405. package/build/esm/components/Icons/LogoCPlusPlus.js.map +1 -0
  406. package/build/esm/components/Icons/index.d.ts +1 -0
  407. package/build/esm/components/Icons/index.js +2 -0
  408. package/build/esm/components/Icons/index.js.map +1 -0
  409. package/build/esm/components/QueryResultsTable/QueryResultsTable.css +53 -0
  410. package/build/esm/components/QueryResultsTable/QueryResultsTable.css.map +1 -0
  411. package/build/esm/components/QueryResultsTable/QueryResultsTable.d.ts +24 -0
  412. package/build/esm/components/QueryResultsTable/QueryResultsTable.js +96 -0
  413. package/build/esm/components/QueryResultsTable/QueryResultsTable.js.map +1 -0
  414. package/build/esm/components/QueryResultsTable/QueryResultsTable.scss +65 -0
  415. package/build/esm/components/QueryResultsTable/helpers/formatQueryResultType.d.ts +3 -0
  416. package/build/esm/components/QueryResultsTable/helpers/formatQueryResultType.js +82 -0
  417. package/build/esm/components/QueryResultsTable/helpers/formatQueryResultType.js.map +1 -0
  418. package/build/esm/components/QueryResultsTable/helpers/formatQueryResultValue.d.ts +11 -0
  419. package/build/esm/components/QueryResultsTable/helpers/formatQueryResultValue.js +33 -0
  420. package/build/esm/components/QueryResultsTable/helpers/formatQueryResultValue.js.map +1 -0
  421. package/build/esm/components/QueryResultsTable/i18n/dicts.d.ts +13 -0
  422. package/build/esm/components/QueryResultsTable/i18n/dicts.js +7 -0
  423. package/build/esm/components/QueryResultsTable/i18n/dicts.js.map +1 -0
  424. package/build/esm/components/QueryResultsTable/i18n/en.json +5 -0
  425. package/build/esm/components/QueryResultsTable/i18n/index.d.ts +6 -0
  426. package/build/esm/components/QueryResultsTable/i18n/index.js +4 -0
  427. package/build/esm/components/QueryResultsTable/i18n/index.js.map +1 -0
  428. package/build/esm/components/QueryResultsTable/i18n/ru.json +5 -0
  429. package/build/esm/components/QueryResultsTable/index.d.ts +3 -0
  430. package/build/esm/components/QueryResultsTable/index.js +3 -0
  431. package/build/esm/components/QueryResultsTable/index.js.map +1 -0
  432. package/build/esm/components/QueryResultsTable/internal/QueryResultCell.d.ts +11 -0
  433. package/build/esm/components/QueryResultsTable/internal/QueryResultCell.js +71 -0
  434. package/build/esm/components/QueryResultsTable/internal/QueryResultCell.js.map +1 -0
  435. package/build/esm/components/index.d.ts +5 -0
  436. package/build/esm/components/index.js +4 -0
  437. package/build/esm/components/index.js.map +1 -1
  438. package/build/esm/helpers/createUuid.d.ts +1 -0
  439. package/build/esm/helpers/createUuid.js +6 -0
  440. package/build/esm/helpers/createUuid.js.map +1 -0
  441. package/build/esm/helpers/isObjectEqual.d.ts +1 -0
  442. package/build/esm/helpers/isObjectEqual.js +23 -0
  443. package/build/esm/helpers/isObjectEqual.js.map +1 -0
  444. package/build/esm/helpers/useDebouncedValue.d.ts +2 -0
  445. package/build/esm/helpers/useDebouncedValue.js +21 -0
  446. package/build/esm/helpers/useDebouncedValue.js.map +1 -0
  447. package/build/esm/index.d.ts +3 -0
  448. package/build/esm/index.js +3 -0
  449. package/build/esm/index.js.map +1 -1
  450. package/build/esm/modules/Attachments/Attachments.css +8 -0
  451. package/build/esm/modules/Attachments/Attachments.css.map +1 -0
  452. package/build/esm/modules/Attachments/Attachments.d.ts +22 -0
  453. package/build/esm/modules/Attachments/Attachments.js +373 -0
  454. package/build/esm/modules/Attachments/Attachments.js.map +1 -0
  455. package/build/esm/modules/Attachments/Attachments.scss +10 -0
  456. package/build/esm/modules/Attachments/Attachments.stories.d.ts +41 -0
  457. package/build/esm/modules/Attachments/Attachments.stories.js +115 -0
  458. package/build/esm/modules/Attachments/Attachments.stories.js.map +1 -0
  459. package/build/esm/modules/Attachments/i18n/dicts.d.ts +13 -0
  460. package/build/esm/modules/Attachments/i18n/dicts.js +7 -0
  461. package/build/esm/modules/Attachments/i18n/dicts.js.map +1 -0
  462. package/build/esm/modules/Attachments/i18n/en.json +5 -0
  463. package/build/esm/modules/Attachments/i18n/index.d.ts +6 -0
  464. package/build/esm/modules/Attachments/i18n/index.js +4 -0
  465. package/build/esm/modules/Attachments/i18n/index.js.map +1 -0
  466. package/build/esm/modules/Attachments/i18n/ru.json +5 -0
  467. package/build/esm/modules/Attachments/index.d.ts +2 -0
  468. package/build/esm/modules/Attachments/index.js +2 -0
  469. package/build/esm/modules/Attachments/index.js.map +1 -0
  470. package/build/esm/modules/NavigationPreview/NavigationPreview.css +7 -1
  471. package/build/esm/modules/NavigationPreview/NavigationPreview.css.map +1 -1
  472. package/build/esm/modules/NavigationPreview/NavigationPreview.d.ts +2 -2
  473. package/build/esm/modules/NavigationPreview/NavigationPreview.js +38 -8
  474. package/build/esm/modules/NavigationPreview/NavigationPreview.js.map +1 -1
  475. package/build/esm/modules/NavigationPreview/NavigationPreview.scss +25 -17
  476. package/build/esm/modules/NavigationPreview/story/NavigationPreview.stories.d.ts +1 -0
  477. package/build/esm/modules/NavigationPreview/story/NavigationPreview.stories.js +24 -0
  478. package/build/esm/modules/NavigationPreview/story/NavigationPreview.stories.js.map +1 -1
  479. package/build/esm/modules/NavigationPreview/story/mockData.d.ts +2 -2
  480. package/build/esm/modules/NavigationPreview/story/mockData.js +16 -4
  481. package/build/esm/modules/NavigationPreview/story/mockData.js.map +1 -1
  482. package/build/esm/modules/QueryStatistics/QueryStatistics.css +4 -0
  483. package/build/esm/modules/QueryStatistics/QueryStatistics.css.map +1 -0
  484. package/build/esm/modules/QueryStatistics/QueryStatistics.d.ts +4 -0
  485. package/build/esm/modules/QueryStatistics/QueryStatistics.js +143 -0
  486. package/build/esm/modules/QueryStatistics/QueryStatistics.js.map +1 -0
  487. package/build/esm/modules/QueryStatistics/QueryStatistics.scss +3 -0
  488. package/build/esm/modules/QueryStatistics/helpers.d.ts +15 -0
  489. package/build/esm/modules/QueryStatistics/helpers.js +106 -0
  490. package/build/esm/modules/QueryStatistics/helpers.js.map +1 -0
  491. package/build/esm/modules/QueryStatistics/i18n/dicts.d.ts +35 -0
  492. package/build/esm/modules/QueryStatistics/i18n/dicts.js +7 -0
  493. package/build/esm/modules/QueryStatistics/i18n/dicts.js.map +1 -0
  494. package/build/esm/modules/QueryStatistics/i18n/en.json +16 -0
  495. package/build/esm/modules/QueryStatistics/i18n/index.d.ts +6 -0
  496. package/build/esm/modules/QueryStatistics/i18n/index.js +4 -0
  497. package/build/esm/modules/QueryStatistics/i18n/index.js.map +1 -0
  498. package/build/esm/modules/QueryStatistics/i18n/ru.json +16 -0
  499. package/build/esm/modules/QueryStatistics/index.d.ts +2 -0
  500. package/build/esm/modules/QueryStatistics/index.js +2 -0
  501. package/build/esm/modules/QueryStatistics/index.js.map +1 -0
  502. package/build/esm/modules/QueryStatistics/internal/MetricCell.css +36 -0
  503. package/build/esm/modules/QueryStatistics/internal/MetricCell.css.map +1 -0
  504. package/build/esm/modules/QueryStatistics/internal/MetricCell.d.ts +9 -0
  505. package/build/esm/modules/QueryStatistics/internal/MetricCell.js +114 -0
  506. package/build/esm/modules/QueryStatistics/internal/MetricCell.js.map +1 -0
  507. package/build/esm/modules/QueryStatistics/internal/MetricCell.scss +12 -0
  508. package/build/esm/modules/QueryStatistics/internal/QueryStatisticsTable.css +21 -0
  509. package/build/esm/modules/QueryStatistics/internal/QueryStatisticsTable.css.map +1 -0
  510. package/build/esm/modules/QueryStatistics/internal/QueryStatisticsTable.d.ts +20 -0
  511. package/build/esm/modules/QueryStatistics/internal/QueryStatisticsTable.js +132 -0
  512. package/build/esm/modules/QueryStatistics/internal/QueryStatisticsTable.js.map +1 -0
  513. package/build/esm/modules/QueryStatistics/internal/QueryStatisticsTable.scss +8 -0
  514. package/build/esm/modules/QueryStatistics/internal/QueryStatisticsToolbar.css +5 -0
  515. package/build/esm/modules/QueryStatistics/internal/QueryStatisticsToolbar.css.map +1 -0
  516. package/build/esm/modules/QueryStatistics/internal/QueryStatisticsToolbar.d.ts +10 -0
  517. package/build/esm/modules/QueryStatistics/internal/QueryStatisticsToolbar.js +48 -0
  518. package/build/esm/modules/QueryStatistics/internal/QueryStatisticsToolbar.js.map +1 -0
  519. package/build/esm/modules/QueryStatistics/internal/QueryStatisticsToolbar.scss +1 -0
  520. package/build/esm/modules/QueryStatistics/story/QueryStatistics.stories.d.ts +8 -0
  521. package/build/esm/modules/QueryStatistics/story/QueryStatistics.stories.js +105 -0
  522. package/build/esm/modules/QueryStatistics/story/QueryStatistics.stories.js.map +1 -0
  523. package/build/esm/modules/index.d.ts +3 -0
  524. package/build/esm/modules/index.js +2 -0
  525. package/build/esm/modules/index.js.map +1 -1
  526. package/build/esm/types/declarations.d.ts +10 -0
  527. package/build/esm/types/errorTree.d.ts +23 -0
  528. package/build/esm/types/errorTree.js +2 -0
  529. package/build/esm/types/errorTree.js.map +1 -0
  530. package/build/esm/types/navigation.d.ts +8 -1
  531. package/build/esm/types/navigation.js.map +1 -1
  532. package/build/esm/types/queryResults.d.ts +34 -0
  533. package/build/esm/types/queryResults.js +2 -0
  534. package/build/esm/types/queryResults.js.map +1 -0
  535. package/build/esm/types/queryStatistics.d.ts +54 -0
  536. package/build/esm/types/queryStatistics.js +2 -0
  537. package/build/esm/types/queryStatistics.js.map +1 -0
  538. package/build/esm/widgets/QueriesNavigation/QueriesNavigation.stories.js +40 -35
  539. package/build/esm/widgets/QueriesNavigation/QueriesNavigation.stories.js.map +1 -1
  540. package/build/esm/widgets/QueriesNavigation/i18n/index.d.ts +2 -2
  541. package/build/esm/widgets/QueryResults/QueryResults.css +19 -0
  542. package/build/esm/widgets/QueryResults/QueryResults.css.map +1 -0
  543. package/build/esm/widgets/QueryResults/QueryResults.d.ts +23 -0
  544. package/build/esm/widgets/QueryResults/QueryResults.js +111 -0
  545. package/build/esm/widgets/QueryResults/QueryResults.js.map +1 -0
  546. package/build/esm/widgets/QueryResults/QueryResults.scss +25 -0
  547. package/build/esm/widgets/QueryResults/QueryResults.stories.d.ts +19 -0
  548. package/build/esm/widgets/QueryResults/QueryResults.stories.js +191 -0
  549. package/build/esm/widgets/QueryResults/QueryResults.stories.js.map +1 -0
  550. package/build/esm/widgets/QueryResults/i18n/dicts.d.ts +25 -0
  551. package/build/esm/widgets/QueryResults/i18n/dicts.js +7 -0
  552. package/build/esm/widgets/QueryResults/i18n/dicts.js.map +1 -0
  553. package/build/esm/widgets/QueryResults/i18n/en.json +10 -0
  554. package/build/esm/widgets/QueryResults/i18n/index.d.ts +6 -0
  555. package/build/esm/widgets/QueryResults/i18n/index.js +4 -0
  556. package/build/esm/widgets/QueryResults/i18n/index.js.map +1 -0
  557. package/build/esm/widgets/QueryResults/i18n/ru.json +12 -0
  558. package/build/esm/widgets/QueryResults/index.d.ts +2 -0
  559. package/build/esm/widgets/QueryResults/index.js +2 -0
  560. package/build/esm/widgets/QueryResults/index.js.map +1 -0
  561. package/build/esm/widgets/QueryResults/internal/QueryResultsSchema.d.ts +7 -0
  562. package/build/esm/widgets/QueryResults/internal/QueryResultsSchema.js +41 -0
  563. package/build/esm/widgets/QueryResults/internal/QueryResultsSchema.js.map +1 -0
  564. package/build/esm/widgets/index.d.ts +2 -0
  565. package/build/esm/widgets/index.js +1 -0
  566. package/build/esm/widgets/index.js.map +1 -1
  567. package/package.json +1 -1
  568. package/plans/styles-rules.md +137 -0
  569. package/src/components/AttachmentList/AttachmentList.scss +25 -0
  570. package/src/components/AttachmentList/AttachmentList.stories.tsx +243 -0
  571. package/src/components/AttachmentList/AttachmentList.tsx +67 -0
  572. package/src/components/AttachmentList/helpers/getIconByAttachmentName.ts +36 -0
  573. package/src/components/AttachmentList/helpers/objectLinkValidator.ts +40 -0
  574. package/src/components/AttachmentList/helpers/stringRequiredValidator.ts +24 -0
  575. package/src/components/AttachmentList/hooks/useKeyDownFormControl.ts +22 -0
  576. package/src/components/AttachmentList/hooks/useLabelRef.ts +25 -0
  577. package/src/components/AttachmentList/i18n/dicts.ts +4 -0
  578. package/src/components/AttachmentList/i18n/en.json +10 -0
  579. package/src/components/AttachmentList/i18n/index.ts +5 -0
  580. package/src/components/AttachmentList/i18n/ru.json +10 -0
  581. package/src/components/AttachmentList/index.ts +4 -0
  582. package/src/components/AttachmentList/internal/AttachmentItem/AttachmentItem.scss +23 -0
  583. package/src/components/AttachmentList/internal/AttachmentItem/AttachmentItem.tsx +75 -0
  584. package/src/components/AttachmentList/internal/AttachmentItem/index.ts +2 -0
  585. package/src/components/AttachmentList/internal/EditAttachmentItem/EditAttachmentItem.tsx +21 -0
  586. package/src/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.scss +21 -0
  587. package/src/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.tsx +194 -0
  588. package/src/components/AttachmentList/internal/EditAttachmentItem/FileEdit.tsx +92 -0
  589. package/src/components/AttachmentList/internal/EditAttachmentItem/index.ts +4 -0
  590. package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.scss +5 -0
  591. package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.stories.tsx +30 -0
  592. package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.tsx +72 -0
  593. package/src/components/AttachmentListPlaceholder/assets/empty-attachments.svg +14 -0
  594. package/src/components/AttachmentListPlaceholder/i18n/dicts.ts +4 -0
  595. package/src/components/AttachmentListPlaceholder/i18n/en.json +7 -0
  596. package/src/components/AttachmentListPlaceholder/i18n/index.ts +5 -0
  597. package/src/components/AttachmentListPlaceholder/i18n/ru.json +7 -0
  598. package/src/components/AttachmentListPlaceholder/index.ts +2 -0
  599. package/src/components/DataTable/DataTable.scss +18 -26
  600. package/src/components/DataTable/DataTable.tsx +23 -4
  601. package/src/components/ErrorTree/ErrorTree.stories.tsx +94 -0
  602. package/src/components/ErrorTree/ErrorTree.tsx +30 -0
  603. package/src/components/ErrorTree/helpers/formatAttributes.ts +9 -0
  604. package/src/components/ErrorTree/helpers/getIntermediateChain.ts +21 -0
  605. package/src/components/ErrorTree/i18n/dicts.ts +4 -0
  606. package/src/components/ErrorTree/i18n/en.json +11 -0
  607. package/src/components/ErrorTree/i18n/index.ts +5 -0
  608. package/src/components/ErrorTree/i18n/ru.json +13 -0
  609. package/src/components/ErrorTree/index.ts +1 -0
  610. package/src/components/ErrorTree/internal/ErrorTreeChildren.scss +5 -0
  611. package/src/components/ErrorTree/internal/ErrorTreeChildren.tsx +25 -0
  612. package/src/components/ErrorTree/internal/ErrorTreeNode.scss +95 -0
  613. package/src/components/ErrorTree/internal/ErrorTreeNode.tsx +178 -0
  614. package/src/components/ErrorTree/internal/IntermediateMessages.scss +13 -0
  615. package/src/components/ErrorTree/internal/IntermediateMessages.tsx +127 -0
  616. package/src/components/Icons/LogoCPlusPlus.tsx +34 -0
  617. package/src/components/Icons/index.ts +1 -0
  618. package/src/components/QueryResultsTable/QueryResultsTable.scss +65 -0
  619. package/src/components/QueryResultsTable/QueryResultsTable.tsx +112 -0
  620. package/src/components/QueryResultsTable/helpers/formatQueryResultType.ts +76 -0
  621. package/src/components/QueryResultsTable/helpers/formatQueryResultValue.ts +38 -0
  622. package/src/components/QueryResultsTable/i18n/dicts.ts +4 -0
  623. package/src/components/QueryResultsTable/i18n/en.json +5 -0
  624. package/src/components/QueryResultsTable/i18n/index.ts +4 -0
  625. package/src/components/QueryResultsTable/i18n/ru.json +5 -0
  626. package/src/components/QueryResultsTable/index.ts +3 -0
  627. package/src/components/QueryResultsTable/internal/QueryResultCell.tsx +63 -0
  628. package/src/components/index.ts +5 -0
  629. package/src/helpers/createUuid.ts +3 -0
  630. package/src/helpers/isObjectEqual.ts +15 -0
  631. package/src/helpers/useDebouncedValue.ts +14 -0
  632. package/src/index.ts +3 -0
  633. package/src/modules/Attachments/Attachments.scss +10 -0
  634. package/src/modules/Attachments/Attachments.stories.tsx +112 -0
  635. package/src/modules/Attachments/Attachments.tsx +336 -0
  636. package/src/modules/Attachments/i18n/dicts.ts +4 -0
  637. package/src/modules/Attachments/i18n/en.json +5 -0
  638. package/src/modules/Attachments/i18n/index.ts +5 -0
  639. package/src/modules/Attachments/i18n/ru.json +5 -0
  640. package/src/modules/Attachments/index.ts +2 -0
  641. package/src/modules/NavigationPreview/NavigationPreview.scss +25 -17
  642. package/src/modules/NavigationPreview/NavigationPreview.tsx +62 -17
  643. package/src/modules/NavigationPreview/story/NavigationPreview.stories.tsx +26 -1
  644. package/src/modules/NavigationPreview/story/mockData.ts +10 -5
  645. package/src/modules/QueryStatistics/QueryStatistics.scss +3 -0
  646. package/src/modules/QueryStatistics/QueryStatistics.tsx +125 -0
  647. package/src/modules/QueryStatistics/helpers.ts +96 -0
  648. package/src/modules/QueryStatistics/i18n/dicts.ts +4 -0
  649. package/src/modules/QueryStatistics/i18n/en.json +16 -0
  650. package/src/modules/QueryStatistics/i18n/index.ts +4 -0
  651. package/src/modules/QueryStatistics/i18n/ru.json +16 -0
  652. package/src/modules/QueryStatistics/index.ts +13 -0
  653. package/src/modules/QueryStatistics/internal/MetricCell.scss +12 -0
  654. package/src/modules/QueryStatistics/internal/MetricCell.tsx +99 -0
  655. package/src/modules/QueryStatistics/internal/QueryStatisticsTable.scss +8 -0
  656. package/src/modules/QueryStatistics/internal/QueryStatisticsTable.tsx +135 -0
  657. package/src/modules/QueryStatistics/internal/QueryStatisticsToolbar.scss +1 -0
  658. package/src/modules/QueryStatistics/internal/QueryStatisticsToolbar.tsx +61 -0
  659. package/src/modules/QueryStatistics/story/QueryStatistics.stories.tsx +71 -0
  660. package/src/modules/index.ts +14 -0
  661. package/src/types/declarations.d.ts +10 -0
  662. package/src/types/errorTree.ts +30 -0
  663. package/src/types/navigation.ts +11 -1
  664. package/src/types/queryResults.ts +48 -0
  665. package/src/types/queryStatistics.ts +67 -0
  666. package/src/widgets/QueriesNavigation/QueriesNavigation.stories.tsx +42 -33
  667. package/src/widgets/QueryResults/QueryResults.scss +25 -0
  668. package/src/widgets/QueryResults/QueryResults.stories.tsx +155 -0
  669. package/src/widgets/QueryResults/QueryResults.tsx +121 -0
  670. package/src/widgets/QueryResults/i18n/dicts.ts +4 -0
  671. package/src/widgets/QueryResults/i18n/en.json +10 -0
  672. package/src/widgets/QueryResults/i18n/index.ts +4 -0
  673. package/src/widgets/QueryResults/i18n/ru.json +12 -0
  674. package/src/widgets/QueryResults/index.ts +2 -0
  675. package/src/widgets/QueryResults/internal/QueryResultsSchema.tsx +41 -0
  676. package/src/widgets/index.ts +2 -0
@@ -0,0 +1,21 @@
1
+ .qp-query-statistics-table {
2
+ max-width: 100%;
3
+ overflow-x: auto;
4
+ }
5
+ .qp-query-statistics-table_fixed {
6
+ overflow: visible;
7
+ }
8
+ .qp-query-statistics-table .qp-data-table {
9
+ min-width: 55rem;
10
+ }
11
+ .qp-query-statistics-table__metric-column, .qp-query-statistics-table__value-column {
12
+ border: 0;
13
+ border-bottom: 1px solid var(--g-color-line-generic);
14
+ }
15
+ .qp-query-statistics-table__metric-column {
16
+ min-width: 19rem;
17
+ }
18
+ .qp-query-statistics-table__value-column {
19
+ min-width: 8rem;
20
+ }
21
+ /*# sourceMappingURL=QueryStatisticsTable.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["QueryStatisticsTable.scss"],"names":[],"mappings":"AAAA;EAA6B,eAAA;EAAiB,gBAAA;AAG9C;AAFI;EAAU,iBAAA;AAKd;AAJI;EAAiB,gBAAA;AAOrB;AANI;EACkB,SAAA;EAAW,oDAAA;AASjC;AARI;EAAmB,gBAAA;AAWvB;AAVI;EAAkB,eAAA;AAatB","file":"QueryStatisticsTable.css","sourcesContent":[".qp-query-statistics-table { max-width: 100%; overflow-x: auto;\n &_fixed { overflow: visible; }\n .qp-data-table { min-width: 55rem; }\n &__metric-column,\n &__value-column { border: 0; border-block-end: 1px solid var(--g-color-line-generic); }\n &__metric-column { min-width: 19rem; }\n &__value-column { min-width: 8rem; }\n}\n"],"sourceRoot":""}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import type { QueryStatisticsColumn, QueryStatisticsExtraColumn, QueryStatisticsFormatValueContext } from '../../../types/queryStatistics';
3
+ import { type QueryStatisticsRow } from '../helpers';
4
+ import './QueryStatisticsTable.scss';
5
+ export type QueryStatisticsTableProps = {
6
+ rows: QueryStatisticsRow[];
7
+ visibleColumns: QueryStatisticsColumn[];
8
+ columnConfig?: Partial<Record<QueryStatisticsColumn, {
9
+ title?: React.ReactNode;
10
+ width?: string;
11
+ }>>;
12
+ extraColumns?: QueryStatisticsExtraColumn[];
13
+ expandedIds: Set<string>;
14
+ fixedHeader: boolean;
15
+ virtual: boolean;
16
+ formatValue?: (value: number | undefined, context: QueryStatisticsFormatValueContext) => React.ReactNode;
17
+ isSearching: boolean;
18
+ onToggleGroup: (id: string) => void;
19
+ };
20
+ export declare function QueryStatisticsTable({ rows, visibleColumns, columnConfig, extraColumns, expandedIds, fixedHeader, virtual, formatValue, isSearching, onToggleGroup, }: QueryStatisticsTableProps): React.JSX.Element;
@@ -0,0 +1,132 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import "core-js/modules/es.array.concat.js";
3
+ import "core-js/modules/es.array.map.js";
4
+ import "core-js/modules/es.iterator.constructor.js";
5
+ import "core-js/modules/es.iterator.map.js";
6
+ import "core-js/modules/es.number.is-finite.js";
7
+ import "core-js/modules/es.object.to-string.js";
8
+ import React, { useMemo } from 'react';
9
+ import BaseDataTable from '@gravity-ui/react-data-table';
10
+ import { DataTable } from "../../../components";
11
+ import { getQueryStatisticsValue, isQueryStatisticsGroup, isQueryStatisticsMetric } from "../helpers";
12
+ import i18n from "../i18n";
13
+ import { MetricCell } from "./MetricCell";
14
+ import "./QueryStatisticsTable.css";
15
+ import { jsx as _jsx } from "react/jsx-runtime";
16
+ var NO_VALUE = '—';
17
+ var block = 'qp-query-statistics-table';
18
+ var COLUMN_TITLES = {
19
+ min: function min() {
20
+ return i18n('field_min');
21
+ },
22
+ max: function max() {
23
+ return i18n('field_max');
24
+ },
25
+ avg: function avg() {
26
+ return i18n('field_avg');
27
+ },
28
+ sum: function sum() {
29
+ return i18n('field_sum');
30
+ },
31
+ count: function count() {
32
+ return i18n('field_count');
33
+ },
34
+ last: function last() {
35
+ return i18n('field_last');
36
+ }
37
+ };
38
+ export function QueryStatisticsTable(_ref) {
39
+ var rows = _ref.rows,
40
+ visibleColumns = _ref.visibleColumns,
41
+ columnConfig = _ref.columnConfig,
42
+ extraColumns = _ref.extraColumns,
43
+ expandedIds = _ref.expandedIds,
44
+ fixedHeader = _ref.fixedHeader,
45
+ virtual = _ref.virtual,
46
+ formatValue = _ref.formatValue,
47
+ isSearching = _ref.isSearching,
48
+ onToggleGroup = _ref.onToggleGroup;
49
+ var numberFormatter = useMemo(function () {
50
+ return new Intl.NumberFormat(undefined, {
51
+ maximumFractionDigits: 6
52
+ });
53
+ }, []);
54
+ var columns = useMemo(function () {
55
+ var metricColumn = {
56
+ name: 'metric',
57
+ header: i18n('field_metric'),
58
+ className: "".concat(block, "__metric-column"),
59
+ width: '40%',
60
+ sortable: false,
61
+ render: function render(_ref2) {
62
+ var row = _ref2.row;
63
+ return /*#__PURE__*/_jsx(MetricCell, {
64
+ row: row,
65
+ expanded: isQueryStatisticsGroup(row.item) && expandedIds.has(row.item.id),
66
+ onToggle: onToggleGroup
67
+ });
68
+ }
69
+ };
70
+ var valueColumns = visibleColumns.map(function (column) {
71
+ var _columnConfig$column$, _columnConfig$column, _columnConfig$column$2, _columnConfig$column2;
72
+ return {
73
+ name: column,
74
+ header: (_columnConfig$column$ = columnConfig === null || columnConfig === void 0 || (_columnConfig$column = columnConfig[column]) === null || _columnConfig$column === void 0 ? void 0 : _columnConfig$column.title) !== null && _columnConfig$column$ !== void 0 ? _columnConfig$column$ : COLUMN_TITLES[column](),
75
+ className: "".concat(block, "__value-column"),
76
+ width: (_columnConfig$column$2 = columnConfig === null || columnConfig === void 0 || (_columnConfig$column2 = columnConfig[column]) === null || _columnConfig$column2 === void 0 ? void 0 : _columnConfig$column2.width) !== null && _columnConfig$column$2 !== void 0 ? _columnConfig$column$2 : '12%',
77
+ align: BaseDataTable.RIGHT,
78
+ sortable: false,
79
+ render: function render(_ref3) {
80
+ var row = _ref3.row;
81
+ if (!isQueryStatisticsMetric(row.item)) return NO_VALUE;
82
+ var value = getQueryStatisticsValue(row.item, column);
83
+ if (formatValue) return formatValue(value, {
84
+ column: column,
85
+ item: row.item
86
+ });
87
+ return value === undefined || !Number.isFinite(value) ? NO_VALUE : numberFormatter.format(value);
88
+ }
89
+ };
90
+ });
91
+ var customColumns = (extraColumns !== null && extraColumns !== void 0 ? extraColumns : []).map(function (column) {
92
+ var _column$width;
93
+ return {
94
+ name: column.id,
95
+ header: column.title,
96
+ width: (_column$width = column.width) !== null && _column$width !== void 0 ? _column$width : '12%',
97
+ className: "".concat(block, "__value-column"),
98
+ sortable: false,
99
+ render: function render(_ref4) {
100
+ var row = _ref4.row;
101
+ return column.render({
102
+ item: row.item,
103
+ level: row.level
104
+ });
105
+ }
106
+ };
107
+ });
108
+ return [metricColumn].concat(_toConsumableArray(valueColumns), _toConsumableArray(customColumns));
109
+ }, [columnConfig, expandedIds, extraColumns, formatValue, numberFormatter, onToggleGroup, visibleColumns]);
110
+ return /*#__PURE__*/_jsx("div", {
111
+ className: block + (fixedHeader ? " ".concat(block, "_fixed") : ''),
112
+ children: /*#__PURE__*/_jsx(DataTable, {
113
+ columns: columns,
114
+ data: rows,
115
+ loaded: true,
116
+ emptyVariant: isSearching ? 'nothing-found' : 'no-data',
117
+ rowKey: function rowKey(row) {
118
+ return row.item.id;
119
+ },
120
+ settings: {
121
+ displayIndices: false,
122
+ sortable: false,
123
+ stripedRows: false,
124
+ dynamicRender: virtual,
125
+ dynamicRenderType: 'uniform',
126
+ stickyHead: fixedHeader ? BaseDataTable.MOVING : undefined,
127
+ syncHeadOnResize: fixedHeader
128
+ }
129
+ })
130
+ });
131
+ }
132
+ // #sourceMappingURL=QueryStatisticsTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","BaseDataTable","DataTable","getQueryStatisticsValue","isQueryStatisticsGroup","isQueryStatisticsMetric","i18n","MetricCell","jsx","_jsx","NO_VALUE","block","COLUMN_TITLES","min","max","avg","sum","count","last","QueryStatisticsTable","_ref","rows","visibleColumns","columnConfig","extraColumns","expandedIds","fixedHeader","virtual","formatValue","isSearching","onToggleGroup","numberFormatter","Intl","NumberFormat","undefined","maximumFractionDigits","columns","metricColumn","name","header","className","concat","width","sortable","render","_ref2","row","expanded","item","has","id","onToggle","valueColumns","map","column","_columnConfig$column$","_columnConfig$column","_columnConfig$column$2","_columnConfig$column2","title","align","RIGHT","_ref3","value","Number","isFinite","format","customColumns","_column$width","_ref4","level","_toConsumableArray","children","data","loaded","emptyVariant","rowKey","settings","displayIndices","stripedRows","dynamicRender","dynamicRenderType","stickyHead","MOVING","syncHeadOnResize"],"sources":["QueryStatisticsTable.tsx"],"sourcesContent":["import React, {useMemo} from 'react';\nimport BaseDataTable, {type Column} from '@gravity-ui/react-data-table';\nimport {DataTable} from '../../../components';\nimport type {\n QueryStatisticsColumn,\n QueryStatisticsExtraColumn,\n QueryStatisticsFormatValueContext,\n} from '../../../types/queryStatistics';\nimport {\n type QueryStatisticsRow,\n getQueryStatisticsValue,\n isQueryStatisticsGroup,\n isQueryStatisticsMetric,\n} from '../helpers';\nimport i18n from '../i18n';\nimport {MetricCell} from './MetricCell';\n\nimport './QueryStatisticsTable.scss';\n\nconst NO_VALUE = '—';\nconst block = 'qp-query-statistics-table';\nconst COLUMN_TITLES: Record<QueryStatisticsColumn, () => string> = {\n min: () => i18n('field_min'),\n max: () => i18n('field_max'),\n avg: () => i18n('field_avg'),\n sum: () => i18n('field_sum'),\n count: () => i18n('field_count'),\n last: () => i18n('field_last'),\n};\n\nexport type QueryStatisticsTableProps = {\n rows: QueryStatisticsRow[];\n visibleColumns: QueryStatisticsColumn[];\n columnConfig?: Partial<\n Record<QueryStatisticsColumn, {title?: React.ReactNode; width?: string}>\n >;\n extraColumns?: QueryStatisticsExtraColumn[];\n expandedIds: Set<string>;\n fixedHeader: boolean;\n virtual: boolean;\n formatValue?: (\n value: number | undefined,\n context: QueryStatisticsFormatValueContext,\n ) => React.ReactNode;\n isSearching: boolean;\n onToggleGroup: (id: string) => void;\n};\n\nexport function QueryStatisticsTable({\n rows,\n visibleColumns,\n columnConfig,\n extraColumns,\n expandedIds,\n fixedHeader,\n virtual,\n formatValue,\n isSearching,\n onToggleGroup,\n}: QueryStatisticsTableProps) {\n const numberFormatter = useMemo(\n () => new Intl.NumberFormat(undefined, {maximumFractionDigits: 6}),\n [],\n );\n const columns = useMemo<Array<Column<QueryStatisticsRow>>>(() => {\n const metricColumn: Column<QueryStatisticsRow> = {\n name: 'metric',\n header: i18n('field_metric'),\n className: `${block}__metric-column`,\n width: '40%',\n sortable: false,\n render: ({row}) => (\n <MetricCell\n row={row}\n expanded={isQueryStatisticsGroup(row.item) && expandedIds.has(row.item.id)}\n onToggle={onToggleGroup}\n />\n ),\n };\n const valueColumns = visibleColumns.map<Column<QueryStatisticsRow>>((column) => ({\n name: column,\n header: columnConfig?.[column]?.title ?? COLUMN_TITLES[column](),\n className: `${block}__value-column`,\n width: columnConfig?.[column]?.width ?? '12%',\n align: BaseDataTable.RIGHT,\n sortable: false,\n render: ({row}) => {\n if (!isQueryStatisticsMetric(row.item)) return NO_VALUE;\n const value = getQueryStatisticsValue(row.item, column);\n if (formatValue) return formatValue(value, {column, item: row.item});\n return value === undefined || !Number.isFinite(value)\n ? NO_VALUE\n : numberFormatter.format(value);\n },\n }));\n const customColumns = (extraColumns ?? []).map<Column<QueryStatisticsRow>>((column) => ({\n name: column.id,\n header: column.title,\n width: column.width ?? '12%',\n className: `${block}__value-column`,\n sortable: false,\n render: ({row}) => column.render({item: row.item, level: row.level}),\n }));\n return [metricColumn, ...valueColumns, ...customColumns];\n }, [\n columnConfig,\n expandedIds,\n extraColumns,\n formatValue,\n numberFormatter,\n onToggleGroup,\n visibleColumns,\n ]);\n\n return (\n <div className={block + (fixedHeader ? ` ${block}_fixed` : '')}>\n <DataTable<QueryStatisticsRow>\n columns={columns}\n data={rows}\n loaded\n emptyVariant={isSearching ? 'nothing-found' : 'no-data'}\n rowKey={(row) => row.item.id}\n settings={{\n displayIndices: false,\n sortable: false,\n stripedRows: false,\n dynamicRender: virtual,\n dynamicRenderType: 'uniform',\n stickyHead: fixedHeader ? BaseDataTable.MOVING : undefined,\n syncHeadOnResize: fixedHeader,\n }}\n />\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ .qp-query-statistics-table { max-width: 100%; overflow-x: auto;
2
+ &_fixed { overflow: visible; }
3
+ .qp-data-table { min-width: 55rem; }
4
+ &__metric-column,
5
+ &__value-column { border: 0; border-block-end: 1px solid var(--g-color-line-generic); }
6
+ &__metric-column { min-width: 19rem; }
7
+ &__value-column { min-width: 8rem; }
8
+ }
@@ -0,0 +1,5 @@
1
+ .qp-query-statistics-toolbar {
2
+ margin-bottom: var(--g-spacing-4);
3
+ max-width: 34rem;
4
+ }
5
+ /*# sourceMappingURL=QueryStatisticsToolbar.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["QueryStatisticsToolbar.scss"],"names":[],"mappings":"AAAA;EAA+B,iCAAA;EAAsC,gBAAA;AAGrE","file":"QueryStatisticsToolbar.css","sourcesContent":[".qp-query-statistics-toolbar { margin-block-end: var(--g-spacing-4); max-width: 34rem; }\n"],"sourceRoot":""}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import './QueryStatisticsToolbar.scss';
3
+ export type QueryStatisticsToolbarProps = {
4
+ search: string;
5
+ hasGroups: boolean;
6
+ onSearchUpdate: (value: string) => void;
7
+ onExpandAll: () => void;
8
+ onCollapseAll: () => void;
9
+ };
10
+ export declare function QueryStatisticsToolbar({ search, hasGroups, onSearchUpdate, onExpandAll, onCollapseAll, }: QueryStatisticsToolbarProps): React.JSX.Element;
@@ -0,0 +1,48 @@
1
+ import "core-js/modules/es.regexp.exec.js";
2
+ import "core-js/modules/es.string.search.js";
3
+ import React from 'react';
4
+ import { ChevronsDown, ChevronsUp } from '@gravity-ui/icons';
5
+ import { Button, Icon } from '@gravity-ui/uikit';
6
+ import cn from 'bem-cn-lite';
7
+ import { SearchWithButtons } from "../../../components";
8
+ import i18n from "../i18n";
9
+ import "./QueryStatisticsToolbar.css";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ var block = cn('qp-query-statistics-toolbar');
12
+ export function QueryStatisticsToolbar(_ref) {
13
+ var search = _ref.search,
14
+ hasGroups = _ref.hasGroups,
15
+ onSearchUpdate = _ref.onSearchUpdate,
16
+ onExpandAll = _ref.onExpandAll,
17
+ onCollapseAll = _ref.onCollapseAll;
18
+ var buttons = [/*#__PURE__*/_jsx(Button, {
19
+ size: "m",
20
+ "aria-label": i18n('action_expand-all'),
21
+ title: i18n('action_expand-all'),
22
+ disabled: !hasGroups,
23
+ onClick: onExpandAll,
24
+ children: /*#__PURE__*/_jsx(Icon, {
25
+ data: ChevronsDown,
26
+ size: 16
27
+ })
28
+ }, "expand"), /*#__PURE__*/_jsx(Button, {
29
+ size: "m",
30
+ "aria-label": i18n('action_collapse-all'),
31
+ title: i18n('action_collapse-all'),
32
+ disabled: !hasGroups,
33
+ onClick: onCollapseAll,
34
+ children: /*#__PURE__*/_jsx(Icon, {
35
+ data: ChevronsUp,
36
+ size: 16
37
+ })
38
+ }, "collapse")];
39
+ return /*#__PURE__*/_jsx(SearchWithButtons, {
40
+ value: search,
41
+ placeholder: i18n('field_search'),
42
+ hasClear: true,
43
+ onUpdate: onSearchUpdate,
44
+ endButtons: buttons,
45
+ className: block()
46
+ });
47
+ }
48
+ // #sourceMappingURL=QueryStatisticsToolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","ChevronsDown","ChevronsUp","Button","Icon","cn","SearchWithButtons","i18n","jsx","_jsx","block","QueryStatisticsToolbar","_ref","search","hasGroups","onSearchUpdate","onExpandAll","onCollapseAll","buttons","size","title","disabled","onClick","children","data","value","placeholder","hasClear","onUpdate","endButtons","className"],"sources":["QueryStatisticsToolbar.tsx"],"sourcesContent":["import React from 'react';\nimport {ChevronsDown, ChevronsUp} from '@gravity-ui/icons';\nimport {Button, Icon} from '@gravity-ui/uikit';\nimport cn from 'bem-cn-lite';\n\nimport {SearchWithButtons} from '../../../components';\nimport i18n from '../i18n';\n\nimport './QueryStatisticsToolbar.scss';\n\nconst block = cn('qp-query-statistics-toolbar');\n\nexport type QueryStatisticsToolbarProps = {\n search: string;\n hasGroups: boolean;\n onSearchUpdate: (value: string) => void;\n onExpandAll: () => void;\n onCollapseAll: () => void;\n};\n\nexport function QueryStatisticsToolbar({\n search,\n hasGroups,\n onSearchUpdate,\n onExpandAll,\n onCollapseAll,\n}: QueryStatisticsToolbarProps) {\n const buttons = [\n <Button\n key=\"expand\"\n size=\"m\"\n aria-label={i18n('action_expand-all')}\n title={i18n('action_expand-all')}\n disabled={!hasGroups}\n onClick={onExpandAll}\n >\n <Icon data={ChevronsDown} size={16} />\n </Button>,\n <Button\n key=\"collapse\"\n size=\"m\"\n aria-label={i18n('action_collapse-all')}\n title={i18n('action_collapse-all')}\n disabled={!hasGroups}\n onClick={onCollapseAll}\n >\n <Icon data={ChevronsUp} size={16} />\n </Button>,\n ];\n\n return (\n <SearchWithButtons\n value={search}\n placeholder={i18n('field_search')}\n hasClear\n onUpdate={onSearchUpdate}\n endButtons={buttons}\n className={block()}\n />\n );\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAQC,YAAY,EAAEC,UAAU,QAAO,mBAAmB;AAC1D,SAAQC,MAAM,EAAEC,IAAI,QAAO,mBAAmB;AAC9C,OAAOC,EAAE,MAAM,aAAa;AAE5B,SAAQC,iBAAiB;AACzB,OAAOC,IAAI;AAEX;AAAuC,SAAAC,GAAA,IAAAC,IAAA;AAEvC,IAAMC,KAAK,GAAGL,EAAE,CAAC,6BAA6B,CAAC;AAU/C,OAAO,SAASM,sBAAsBA,CAAAC,IAAA,EAMN;EAAA,IAL5BC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,cAAc,GAAAH,IAAA,CAAdG,cAAc;IACdC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IACXC,aAAa,GAAAL,IAAA,CAAbK,aAAa;EAEb,IAAMC,OAAO,GAAG,cACZT,IAAA,CAACN,MAAM;IAEHgB,IAAI,EAAC,GAAG;IACR,cAAYZ,IAAI,CAAC,mBAAmB,CAAE;IACtCa,KAAK,EAAEb,IAAI,CAAC,mBAAmB,CAAE;IACjCc,QAAQ,EAAE,CAACP,SAAU;IACrBQ,OAAO,EAAEN,WAAY;IAAAO,QAAA,eAErBd,IAAA,CAACL,IAAI;MAACoB,IAAI,EAAEvB,YAAa;MAACkB,IAAI,EAAE;IAAG,CAAE;EAAC,GAPlC,QAQA,CAAC,eACTV,IAAA,CAACN,MAAM;IAEHgB,IAAI,EAAC,GAAG;IACR,cAAYZ,IAAI,CAAC,qBAAqB,CAAE;IACxCa,KAAK,EAAEb,IAAI,CAAC,qBAAqB,CAAE;IACnCc,QAAQ,EAAE,CAACP,SAAU;IACrBQ,OAAO,EAAEL,aAAc;IAAAM,QAAA,eAEvBd,IAAA,CAACL,IAAI;MAACoB,IAAI,EAAEtB,UAAW;MAACiB,IAAI,EAAE;IAAG,CAAE;EAAC,GAPhC,UAQA,CAAC,CACZ;EAED,oBACIV,IAAA,CAACH,iBAAiB;IACdmB,KAAK,EAAEZ,MAAO;IACda,WAAW,EAAEnB,IAAI,CAAC,cAAc,CAAE;IAClCoB,QAAQ;IACRC,QAAQ,EAAEb,cAAe;IACzBc,UAAU,EAAEX,OAAQ;IACpBY,SAAS,EAAEpB,KAAK,CAAC;EAAE,CACtB,CAAC;AAEV","ignoreList":[]}
@@ -0,0 +1 @@
1
+ .qp-query-statistics-toolbar { margin-block-end: var(--g-spacing-4); max-width: 34rem; }
@@ -0,0 +1,8 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { QueryStatistics } from '../QueryStatistics';
3
+ declare const meta: Meta<typeof QueryStatistics>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof QueryStatistics>;
6
+ export declare const Default: Story;
7
+ export declare const ConfiguredColumns: Story;
8
+ export declare const VirtualAndFixed: Story;
@@ -0,0 +1,105 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import "core-js/modules/es.array.concat.js";
3
+ import "core-js/modules/es.array.from.js";
4
+ import "core-js/modules/es.string.iterator.js";
5
+ import React from 'react';
6
+ import { QueryStatistics } from "../QueryStatistics";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ var data = [{
9
+ id: 'input',
10
+ name: 'Input',
11
+ children: [{
12
+ id: 'input.rows',
13
+ name: 'Rows',
14
+ description: 'Number of rows read from the input',
15
+ values: {
16
+ min: 0,
17
+ max: 1600,
18
+ sum: 4200,
19
+ count: 4,
20
+ last: 1400
21
+ }
22
+ }, {
23
+ id: 'input.weight',
24
+ name: 'Data weight',
25
+ unit: 'bytes',
26
+ values: {
27
+ min: 1024,
28
+ max: 1048576,
29
+ avg: 120000.25,
30
+ sum: 2097152,
31
+ count: 4
32
+ }
33
+ }]
34
+ }];
35
+ var largeData = Array.from({
36
+ length: 12
37
+ }, function (_group, groupIndex) {
38
+ return {
39
+ id: "group-".concat(groupIndex),
40
+ name: "Group ".concat(groupIndex + 1, " with a deliberately long name for horizontal scrolling"),
41
+ children: Array.from({
42
+ length: 25
43
+ }, function (_metric, metricIndex) {
44
+ return {
45
+ id: "group-".concat(groupIndex, ".metric-").concat(metricIndex),
46
+ name: "Metric ".concat(metricIndex + 1),
47
+ values: {
48
+ min: metricIndex,
49
+ max: metricIndex * 10,
50
+ sum: metricIndex * 100,
51
+ count: metricIndex + 1,
52
+ last: metricIndex * 5
53
+ }
54
+ };
55
+ })
56
+ };
57
+ });
58
+ var meta = {
59
+ title: 'Modules/QueryStatistics',
60
+ component: QueryStatistics,
61
+ tags: ['autodocs'],
62
+ args: {
63
+ data: data
64
+ }
65
+ };
66
+ export default meta;
67
+ export var Default = {};
68
+ export var ConfiguredColumns = {
69
+ args: {
70
+ visibleColumns: ['last', 'avg', 'count'],
71
+ columnConfig: {
72
+ last: {
73
+ title: 'Latest value',
74
+ width: '20%'
75
+ }
76
+ },
77
+ extraColumns: [{
78
+ id: 'unit',
79
+ title: 'Unit',
80
+ render: function render(_ref) {
81
+ var _item$unit;
82
+ var item = _ref.item;
83
+ return (_item$unit = item.unit) !== null && _item$unit !== void 0 ? _item$unit : '—';
84
+ }
85
+ }]
86
+ }
87
+ };
88
+ export var VirtualAndFixed = {
89
+ args: {
90
+ data: largeData,
91
+ virtual: true,
92
+ fixedHeader: true
93
+ },
94
+ render: function render(args) {
95
+ return /*#__PURE__*/_jsx("div", {
96
+ style: {
97
+ height: 360,
98
+ maxWidth: 1100,
99
+ overflow: 'auto'
100
+ },
101
+ children: /*#__PURE__*/_jsx(QueryStatistics, _objectSpread({}, args))
102
+ });
103
+ }
104
+ };
105
+ // #sourceMappingURL=QueryStatistics.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","QueryStatistics","jsx","_jsx","data","id","name","children","description","values","min","max","sum","count","last","unit","avg","largeData","Array","from","length","_group","groupIndex","concat","_metric","metricIndex","meta","title","component","tags","args","Default","ConfiguredColumns","visibleColumns","columnConfig","width","extraColumns","render","_ref","_item$unit","item","VirtualAndFixed","virtual","fixedHeader","style","height","maxWidth","overflow","_objectSpread"],"sources":["QueryStatistics.stories.tsx"],"sourcesContent":["import React from 'react';\nimport type {Meta, StoryObj} from '@storybook/react';\n\nimport type {QueryStatisticsItem} from '../../../types/queryStatistics';\nimport {QueryStatistics} from '../QueryStatistics';\n\nconst data: QueryStatisticsItem[] = [\n {\n id: 'input',\n name: 'Input',\n children: [\n {\n id: 'input.rows',\n name: 'Rows',\n description: 'Number of rows read from the input',\n values: {min: 0, max: 1600, sum: 4200, count: 4, last: 1400},\n },\n {\n id: 'input.weight',\n name: 'Data weight',\n unit: 'bytes',\n values: {min: 1024, max: 1048576, avg: 120000.25, sum: 2097152, count: 4},\n },\n ],\n },\n];\n\nconst largeData: QueryStatisticsItem[] = Array.from({length: 12}, (_group, groupIndex) => ({\n id: `group-${groupIndex}`,\n name: `Group ${groupIndex + 1} with a deliberately long name for horizontal scrolling`,\n children: Array.from({length: 25}, (_metric, metricIndex) => ({\n id: `group-${groupIndex}.metric-${metricIndex}`,\n name: `Metric ${metricIndex + 1}`,\n values: {\n min: metricIndex,\n max: metricIndex * 10,\n sum: metricIndex * 100,\n count: metricIndex + 1,\n last: metricIndex * 5,\n },\n })),\n}));\n\nconst meta: Meta<typeof QueryStatistics> = {\n title: 'Modules/QueryStatistics',\n component: QueryStatistics,\n tags: ['autodocs'],\n args: {data},\n};\n\nexport default meta;\ntype Story = StoryObj<typeof QueryStatistics>;\n\nexport const Default: Story = {};\n\nexport const ConfiguredColumns: Story = {\n args: {\n visibleColumns: ['last', 'avg', 'count'],\n columnConfig: {last: {title: 'Latest value', width: '20%'}},\n extraColumns: [{id: 'unit', title: 'Unit', render: ({item}) => item.unit ?? '—'}],\n },\n};\n\nexport const VirtualAndFixed: Story = {\n args: {data: largeData, virtual: true, fixedHeader: true},\n render: (args) => (\n <div style={{height: 360, maxWidth: 1100, overflow: 'auto'}}>\n <QueryStatistics {...args} />\n </div>\n ),\n};\n"],"mappings":"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","ignoreList":[]}
@@ -16,6 +16,7 @@ export type { SavedQueryRowProps } from './SavedQueryRow';
16
16
  export { SavedQuerySearchRow } from './SavedQuerySearchRow';
17
17
  export type { SavedQuerySearchRowProps } from './SavedQuerySearchRow';
18
18
  export * from './ChartEditor';
19
+ export * from './Attachments';
19
20
  export { TutorialRow } from './TutorialRow';
20
21
  export type { TutorialRowProps } from './TutorialRow';
21
22
  export { TutorialSearchRow } from './TutorialSearchRow';
@@ -28,6 +29,8 @@ export { NavigationDetail } from './NavigationDetail';
28
29
  export type { NavigationDetailProps } from './NavigationDetail';
29
30
  export { NavigationSchema, buildSchemaColumns, filterSchema } from './NavigationSchema';
30
31
  export type { NavigationSchemaProps, NavigationSchemaViewConfig } from './NavigationSchema';
32
+ export { QueryStatistics } from './QueryStatistics';
33
+ export type { QueryStatisticsColumn, QueryStatisticsColumnConfig, QueryStatisticsExtraColumn, QueryStatisticsExtraColumnContext, QueryStatisticsFormatValueContext, QueryStatisticsGroup, QueryStatisticsItem, QueryStatisticsMetric, QueryStatisticsProps, QueryStatisticsValues, } from './QueryStatistics';
31
34
  export { NavigationPreview, buildPreviewColumns, filterPreviewRows } from './NavigationPreview';
32
35
  export type { NavigationPreviewProps, NavigationPreviewViewConfig } from './NavigationPreview';
33
36
  export { NavigationMeta, buildMetaGroups } from './NavigationMeta';
@@ -9,12 +9,14 @@ export { HistorySearchRow } from "./HistorySearchRow";
9
9
  export { SavedQueryRow } from "./SavedQueryRow";
10
10
  export { SavedQuerySearchRow } from "./SavedQuerySearchRow";
11
11
  export * from "./ChartEditor";
12
+ export * from "./Attachments";
12
13
  export { TutorialRow } from "./TutorialRow";
13
14
  export { TutorialSearchRow } from "./TutorialSearchRow";
14
15
  export { ClustersList } from "./ClustersList";
15
16
  export { NavigationItemsList } from "./NavigationItemsList";
16
17
  export { NavigationDetail } from "./NavigationDetail";
17
18
  export { NavigationSchema, buildSchemaColumns, filterSchema } from "./NavigationSchema";
19
+ export { QueryStatistics } from "./QueryStatistics";
18
20
  export { NavigationPreview, buildPreviewColumns, filterPreviewRows } from "./NavigationPreview";
19
21
  export { NavigationMeta, buildMetaGroups } from "./NavigationMeta";
20
22
  export { NavigationView, buildViewColumns } from "./NavigationView";
@@ -1 +1 @@
1
- {"version":3,"names":["HistoryHeader","HistoryLayout","HistoryComparisonActions","NavigationHeader","RowsList","QueriesList","HistoryRow","HistorySearchRow","SavedQueryRow","SavedQuerySearchRow","TutorialRow","TutorialSearchRow","ClustersList","NavigationItemsList","NavigationDetail","NavigationSchema","buildSchemaColumns","filterSchema","NavigationPreview","buildPreviewColumns","filterPreviewRows","NavigationMeta","buildMetaGroups","NavigationView","buildViewColumns"],"sources":["index.ts"],"sourcesContent":["export {HistoryHeader} from './HistoryHeader';\nexport {HistoryLayout} from './HistoryLayout';\nexport {HistoryComparisonActions} from './HistoryComparisonActions';\nexport type {HistoryComparisonActionsProps} from './HistoryComparisonActions';\nexport {NavigationHeader} from './NavigationHeader';\nexport type {NavigationHeaderProps} from './NavigationHeader';\nexport type {HistoryLayoutProps} from './HistoryLayout';\nexport {RowsList} from './RowsList';\nexport type {RowsListProps} from './RowsList';\nexport {QueriesList} from './QueriesList';\nexport type {QueriesListProps} from './QueriesList';\nexport {HistoryRow} from './HistoryRow';\nexport {HistorySearchRow} from './HistorySearchRow';\nexport {SavedQueryRow} from './SavedQueryRow';\nexport type {SavedQueryRowProps} from './SavedQueryRow';\nexport {SavedQuerySearchRow} from './SavedQuerySearchRow';\nexport type {SavedQuerySearchRowProps} from './SavedQuerySearchRow';\nexport * from './ChartEditor';\nexport {TutorialRow} from './TutorialRow';\nexport type {TutorialRowProps} from './TutorialRow';\nexport {TutorialSearchRow} from './TutorialSearchRow';\nexport type {TutorialSearchRowProps} from './TutorialSearchRow';\nexport {ClustersList} from './ClustersList';\nexport type {ClustersListProps} from './ClustersList';\nexport {NavigationItemsList} from './NavigationItemsList';\nexport type {NavigationItemsListProps} from './NavigationItemsList';\nexport {NavigationDetail} from './NavigationDetail';\nexport type {NavigationDetailProps} from './NavigationDetail';\nexport {NavigationSchema, buildSchemaColumns, filterSchema} from './NavigationSchema';\nexport type {NavigationSchemaProps, NavigationSchemaViewConfig} from './NavigationSchema';\nexport {NavigationPreview, buildPreviewColumns, filterPreviewRows} from './NavigationPreview';\nexport type {NavigationPreviewProps, NavigationPreviewViewConfig} from './NavigationPreview';\nexport {NavigationMeta, buildMetaGroups} from './NavigationMeta';\nexport type {NavigationMetaProps, NavigationMetaViewConfig} from './NavigationMeta';\nexport {NavigationView, buildViewColumns} from './NavigationView';\nexport type {NavigationViewProps, NavigationViewViewConfig} from './NavigationView';\n"],"mappings":"AAAA,SAAQA,aAAa;AACrB,SAAQC,aAAa;AACrB,SAAQC,wBAAwB;AAEhC,SAAQC,gBAAgB;AAGxB,SAAQC,QAAQ;AAEhB,SAAQC,WAAW;AAEnB,SAAQC,UAAU;AAClB,SAAQC,gBAAgB;AACxB,SAAQC,aAAa;AAErB,SAAQC,mBAAmB;AAE3B;AACA,SAAQC,WAAW;AAEnB,SAAQC,iBAAiB;AAEzB,SAAQC,YAAY;AAEpB,SAAQC,mBAAmB;AAE3B,SAAQC,gBAAgB;AAExB,SAAQC,gBAAgB,EAAEC,kBAAkB,EAAEC,YAAY;AAE1D,SAAQC,iBAAiB,EAAEC,mBAAmB,EAAEC,iBAAiB;AAEjE,SAAQC,cAAc,EAAEC,eAAe;AAEvC,SAAQC,cAAc,EAAEC,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["HistoryHeader","HistoryLayout","HistoryComparisonActions","NavigationHeader","RowsList","QueriesList","HistoryRow","HistorySearchRow","SavedQueryRow","SavedQuerySearchRow","TutorialRow","TutorialSearchRow","ClustersList","NavigationItemsList","NavigationDetail","NavigationSchema","buildSchemaColumns","filterSchema","QueryStatistics","NavigationPreview","buildPreviewColumns","filterPreviewRows","NavigationMeta","buildMetaGroups","NavigationView","buildViewColumns"],"sources":["index.ts"],"sourcesContent":["export {HistoryHeader} from './HistoryHeader';\nexport {HistoryLayout} from './HistoryLayout';\nexport {HistoryComparisonActions} from './HistoryComparisonActions';\nexport type {HistoryComparisonActionsProps} from './HistoryComparisonActions';\nexport {NavigationHeader} from './NavigationHeader';\nexport type {NavigationHeaderProps} from './NavigationHeader';\nexport type {HistoryLayoutProps} from './HistoryLayout';\nexport {RowsList} from './RowsList';\nexport type {RowsListProps} from './RowsList';\nexport {QueriesList} from './QueriesList';\nexport type {QueriesListProps} from './QueriesList';\nexport {HistoryRow} from './HistoryRow';\nexport {HistorySearchRow} from './HistorySearchRow';\nexport {SavedQueryRow} from './SavedQueryRow';\nexport type {SavedQueryRowProps} from './SavedQueryRow';\nexport {SavedQuerySearchRow} from './SavedQuerySearchRow';\nexport type {SavedQuerySearchRowProps} from './SavedQuerySearchRow';\nexport * from './ChartEditor';\nexport * from './Attachments';\nexport {TutorialRow} from './TutorialRow';\nexport type {TutorialRowProps} from './TutorialRow';\nexport {TutorialSearchRow} from './TutorialSearchRow';\nexport type {TutorialSearchRowProps} from './TutorialSearchRow';\nexport {ClustersList} from './ClustersList';\nexport type {ClustersListProps} from './ClustersList';\nexport {NavigationItemsList} from './NavigationItemsList';\nexport type {NavigationItemsListProps} from './NavigationItemsList';\nexport {NavigationDetail} from './NavigationDetail';\nexport type {NavigationDetailProps} from './NavigationDetail';\nexport {NavigationSchema, buildSchemaColumns, filterSchema} from './NavigationSchema';\nexport type {NavigationSchemaProps, NavigationSchemaViewConfig} from './NavigationSchema';\nexport {QueryStatistics} from './QueryStatistics';\nexport type {\n QueryStatisticsColumn,\n QueryStatisticsColumnConfig,\n QueryStatisticsExtraColumn,\n QueryStatisticsExtraColumnContext,\n QueryStatisticsFormatValueContext,\n QueryStatisticsGroup,\n QueryStatisticsItem,\n QueryStatisticsMetric,\n QueryStatisticsProps,\n QueryStatisticsValues,\n} from './QueryStatistics';\nexport {NavigationPreview, buildPreviewColumns, filterPreviewRows} from './NavigationPreview';\nexport type {NavigationPreviewProps, NavigationPreviewViewConfig} from './NavigationPreview';\nexport {NavigationMeta, buildMetaGroups} from './NavigationMeta';\nexport type {NavigationMetaProps, NavigationMetaViewConfig} from './NavigationMeta';\nexport {NavigationView, buildViewColumns} from './NavigationView';\nexport type {NavigationViewProps, NavigationViewViewConfig} from './NavigationView';\n"],"mappings":"AAAA,SAAQA,aAAa;AACrB,SAAQC,aAAa;AACrB,SAAQC,wBAAwB;AAEhC,SAAQC,gBAAgB;AAGxB,SAAQC,QAAQ;AAEhB,SAAQC,WAAW;AAEnB,SAAQC,UAAU;AAClB,SAAQC,gBAAgB;AACxB,SAAQC,aAAa;AAErB,SAAQC,mBAAmB;AAE3B;AACA;AACA,SAAQC,WAAW;AAEnB,SAAQC,iBAAiB;AAEzB,SAAQC,YAAY;AAEpB,SAAQC,mBAAmB;AAE3B,SAAQC,gBAAgB;AAExB,SAAQC,gBAAgB,EAAEC,kBAAkB,EAAEC,YAAY;AAE1D,SAAQC,eAAe;AAavB,SAAQC,iBAAiB,EAAEC,mBAAmB,EAAEC,iBAAiB;AAEjE,SAAQC,cAAc,EAAEC,eAAe;AAEvC,SAAQC,cAAc,EAAEC,gBAAgB","ignoreList":[]}
@@ -13,3 +13,13 @@ declare module '*.svg' {
13
13
  const ReactComponent: FC<React.SVGProps<SVGSVGElement>>;
14
14
  export default ReactComponent;
15
15
  }
16
+
17
+ declare module '@gravity-ui/unipika' {
18
+ type UnipikaSettings = Record<string, unknown>;
19
+
20
+ type Unipika = {
21
+ formatFromYQL(data: [unknown, unknown], settings?: UnipikaSettings): string;
22
+ };
23
+
24
+ export default function createUnipika(settings?: UnipikaSettings): Unipika;
25
+ }
@@ -0,0 +1,23 @@
1
+ import type React from 'react';
2
+ export type ErrorTreeSeverity = 'error' | 'warning' | 'info';
3
+ export type ErrorTreePosition = {
4
+ row: number;
5
+ column: number;
6
+ };
7
+ export type ErrorTreeItem = {
8
+ id: string;
9
+ severity: ErrorTreeSeverity;
10
+ message: string;
11
+ code?: string | number;
12
+ position?: ErrorTreePosition;
13
+ attributes?: Record<string, unknown>;
14
+ children?: ErrorTreeItem[];
15
+ };
16
+ export type ErrorTreeProps = {
17
+ root: ErrorTreeItem;
18
+ className?: string;
19
+ defaultExpanded?: boolean;
20
+ defaultInfoExpanded?: boolean;
21
+ renderAttributes?: (attributes: Record<string, unknown>, item: ErrorTreeItem) => React.ReactNode;
22
+ onPositionClick?: (item: ErrorTreeItem, position: ErrorTreePosition) => void;
23
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ // #sourceMappingURL=errorTree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["errorTree.ts"],"sourcesContent":["import type React from 'react';\n\nexport type ErrorTreeSeverity = 'error' | 'warning' | 'info';\n\nexport type ErrorTreePosition = {\n row: number;\n column: number;\n};\n\nexport type ErrorTreeItem = {\n id: string;\n severity: ErrorTreeSeverity;\n message: string;\n code?: string | number;\n position?: ErrorTreePosition;\n attributes?: Record<string, unknown>;\n children?: ErrorTreeItem[];\n};\n\nexport type ErrorTreeProps = {\n root: ErrorTreeItem;\n className?: string;\n defaultExpanded?: boolean;\n defaultInfoExpanded?: boolean;\n renderAttributes?: (\n attributes: Record<string, unknown>,\n item: ErrorTreeItem,\n ) => React.ReactNode;\n onPositionClick?: (item: ErrorTreeItem, position: ErrorTreePosition) => void;\n};\n"],"mappings":"","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
+ import type { QueryResultColumn, QueryResultFormatterSettings } from './queryResults';
2
3
  import type { LoadPathSuggestions } from './pathEditor';
3
4
  export type NavigationLocation = {
4
5
  cluster: string | undefined;
@@ -77,10 +78,16 @@ export type NavigationSchemaConfig<TColumn extends NavigationSchemaColumn = Navi
77
78
  };
78
79
  export type NavigationCellValue = ReactNode;
79
80
  export type NavigationPreviewRow = Record<string, NavigationCellValue>;
81
+ export type NavigationPreviewColumn<TRow extends NavigationPreviewRow = NavigationPreviewRow> = string | QueryResultColumn<TRow>;
80
82
  export type NavigationPreviewConfig<TRow extends NavigationPreviewRow = NavigationPreviewRow> = NavigationAsyncConfig & {
81
- columns: string[];
83
+ columns: Array<NavigationPreviewColumn<TRow>>;
82
84
  rows: TRow[];
83
85
  };
86
+ export type NavigationPreviewFormatterConfig = {
87
+ /** Applied when every displayed preview column declares a YQL type. */
88
+ formatterSettings?: QueryResultFormatterSettings;
89
+ maxVisibleLines?: number;
90
+ };
84
91
  export type NavigationViewRow = NavigationPreviewRow;
85
92
  export type NavigationViewSectionAction<TRow extends NavigationViewRow = NavigationViewRow> = NavigationAction<NavigationViewSection<TRow>>;
86
93
  export type NavigationViewSection<TRow extends NavigationViewRow = NavigationViewRow> = NavigationAsyncConfig & {
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["navigation.ts"],"sourcesContent":["import {ReactNode} from 'react';\nimport type {LoadPathSuggestions} from './pathEditor';\n\nexport type NavigationLocation = {\n cluster: string | undefined;\n path: string | undefined;\n};\n\nexport type NavigationAction<TArg> = {\n id: string;\n title: string;\n content: ReactNode;\n hidden?: boolean;\n disabled?: boolean;\n qa?: string;\n onClick: (arg: TArg) => void;\n};\n\nexport type NavigationHeaderAction = NavigationAction<NavigationLocation>;\n\nexport type NavigationCluster = {\n id: string;\n title: string;\n icon?: ReactNode;\n color?: string;\n backgroundColor?: string;\n description?: string;\n};\n\nexport type NavigationItemKind = 'folder' | 'file' | 'table' | 'link' | 'unknown';\n\nexport type NavigationItem = {\n path: string;\n title: string;\n icon?: ReactNode;\n kind?: NavigationItemKind;\n targetPathBroken?: boolean;\n hasChildren?: boolean;\n disabled?: boolean;\n};\n\nexport type NavigationSortOrder = 'asc' | 'desc';\n\nexport type NavigationItemRowRenderData<T extends NavigationItem = NavigationItem> = {\n item: T;\n index: number;\n isActive: boolean;\n isParentRow: boolean;\n};\n\nexport type NavigationClusterRowRenderData<T extends NavigationCluster = NavigationCluster> = {\n cluster: T;\n index: number;\n isActive: boolean;\n};\n\nexport type RenderNavigationItem<T extends NavigationItem = NavigationItem> = (\n data: NavigationItemRowRenderData<T>,\n) => ReactNode;\n\nexport type RenderNavigationCluster<T extends NavigationCluster = NavigationCluster> = (\n data: NavigationClusterRowRenderData<T>,\n) => ReactNode;\n\nexport type NavigationDetailTabRenderContext = {\n search: string;\n onSearchUpdate?: (value: string) => void;\n searchPlaceholder?: string;\n};\n\nexport type NavigationDetailTab = {\n id: string;\n title: string;\n content?: ReactNode;\n renderContent?: (ctx: NavigationDetailTabRenderContext) => ReactNode;\n hidden?: boolean;\n disabled?: boolean;\n};\n\nexport type NavigationAsyncConfig = {\n loading?: boolean;\n loaded?: boolean;\n errorContent?: ReactNode;\n};\n\nexport type NavigationSchemaSortOrder = 'ascending' | 'descending';\n\nexport type NavigationSchemaColumn = {\n name: string;\n type?: string;\n sortOrder?: NavigationSchemaSortOrder;\n required?: boolean;\n [key: string]: unknown;\n};\n\nexport type NavigationSchemaConfig<\n TColumn extends NavigationSchemaColumn = NavigationSchemaColumn,\n> = NavigationAsyncConfig & {\n columns: TColumn[];\n};\n\nexport type NavigationCellValue = ReactNode;\n\nexport type NavigationPreviewRow = Record<string, NavigationCellValue>;\n\nexport type NavigationPreviewConfig<TRow extends NavigationPreviewRow = NavigationPreviewRow> =\n NavigationAsyncConfig & {\n columns: string[];\n rows: TRow[];\n };\n\nexport type NavigationViewRow = NavigationPreviewRow;\n\nexport type NavigationViewSectionAction<TRow extends NavigationViewRow = NavigationViewRow> =\n NavigationAction<NavigationViewSection<TRow>>;\n\nexport type NavigationViewSection<TRow extends NavigationViewRow = NavigationViewRow> =\n NavigationAsyncConfig & {\n id: string;\n title: ReactNode;\n columns: string[];\n rows: TRow[];\n expanded?: boolean;\n defaultExpanded?: boolean;\n onExpandedChange?: (expanded: boolean) => void;\n actions?: Array<NavigationViewSectionAction<TRow>>;\n };\n\nexport type NavigationViewConfig<TRow extends NavigationViewRow = NavigationViewRow> =\n NavigationAsyncConfig & {\n sections: Array<NavigationViewSection<TRow>>;\n };\n\nexport type NavigationMetaItem = {\n name: string;\n value: NavigationCellValue;\n [key: string]: unknown;\n};\n\nexport type NavigationMetaGroup<TItem extends NavigationMetaItem = NavigationMetaItem> = {\n title?: string;\n items: TItem[];\n};\n\nexport type NavigationMetaConfig<TItem extends NavigationMetaItem = NavigationMetaItem> =\n NavigationAsyncConfig & {\n groups: Array<NavigationMetaGroup<TItem>>;\n };\n\nexport type NavigationDetailConfig = {\n tabs: NavigationDetailTab[];\n defaultTab?: string;\n hasSearch?: boolean;\n searchPlaceholder?: string;\n actions?: NavigationHeaderAction[];\n emptyContent?: ReactNode;\n};\n\nexport type ResolveNavigationDetail<T extends NavigationItem = NavigationItem> = (\n item: T,\n) => NavigationDetailConfig | undefined;\n\nexport type NavigationDetailConfigFactory<T extends NavigationItem = NavigationItem> = (\n item: T,\n) => NavigationDetailConfig;\n\nexport type NavigationSearchConfig = {\n value?: string;\n onUpdate?: (value: string) => void;\n};\n\nexport type NavigationSortConfig = {\n value?: NavigationSortOrder;\n onUpdate?: (sort: NavigationSortOrder) => void;\n};\n\nexport type NavigationListStateConfig = {\n loading?: boolean;\n error?: boolean | ReactNode;\n hasMore?: boolean;\n onLoadMore?: () => void;\n};\n\nexport type NavigationHeaderConfig = {\n actions?: NavigationHeaderAction[];\n onLoadSuggestions?: LoadPathSuggestions;\n};\n\nexport type NavigationDetailPanelConfig<TItem extends NavigationItem = NavigationItem> = {\n openedItem?: TItem;\n onItemOpen?: (item: TItem) => void;\n onClose?: () => void;\n resolve?: ResolveNavigationDetail<TItem>;\n search?: string;\n onSearchUpdate?: (value: string) => void;\n activeTab?: string;\n onTabUpdate?: (tab: string) => void;\n actions?: NavigationHeaderAction[];\n};\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["navigation.ts"],"sourcesContent":["import {ReactNode} from 'react';\nimport type {QueryResultColumn, QueryResultFormatterSettings} from './queryResults';\nimport type {LoadPathSuggestions} from './pathEditor';\n\nexport type NavigationLocation = {\n cluster: string | undefined;\n path: string | undefined;\n};\n\nexport type NavigationAction<TArg> = {\n id: string;\n title: string;\n content: ReactNode;\n hidden?: boolean;\n disabled?: boolean;\n qa?: string;\n onClick: (arg: TArg) => void;\n};\n\nexport type NavigationHeaderAction = NavigationAction<NavigationLocation>;\n\nexport type NavigationCluster = {\n id: string;\n title: string;\n icon?: ReactNode;\n color?: string;\n backgroundColor?: string;\n description?: string;\n};\n\nexport type NavigationItemKind = 'folder' | 'file' | 'table' | 'link' | 'unknown';\n\nexport type NavigationItem = {\n path: string;\n title: string;\n icon?: ReactNode;\n kind?: NavigationItemKind;\n targetPathBroken?: boolean;\n hasChildren?: boolean;\n disabled?: boolean;\n};\n\nexport type NavigationSortOrder = 'asc' | 'desc';\n\nexport type NavigationItemRowRenderData<T extends NavigationItem = NavigationItem> = {\n item: T;\n index: number;\n isActive: boolean;\n isParentRow: boolean;\n};\n\nexport type NavigationClusterRowRenderData<T extends NavigationCluster = NavigationCluster> = {\n cluster: T;\n index: number;\n isActive: boolean;\n};\n\nexport type RenderNavigationItem<T extends NavigationItem = NavigationItem> = (\n data: NavigationItemRowRenderData<T>,\n) => ReactNode;\n\nexport type RenderNavigationCluster<T extends NavigationCluster = NavigationCluster> = (\n data: NavigationClusterRowRenderData<T>,\n) => ReactNode;\n\nexport type NavigationDetailTabRenderContext = {\n search: string;\n onSearchUpdate?: (value: string) => void;\n searchPlaceholder?: string;\n};\n\nexport type NavigationDetailTab = {\n id: string;\n title: string;\n content?: ReactNode;\n renderContent?: (ctx: NavigationDetailTabRenderContext) => ReactNode;\n hidden?: boolean;\n disabled?: boolean;\n};\n\nexport type NavigationAsyncConfig = {\n loading?: boolean;\n loaded?: boolean;\n errorContent?: ReactNode;\n};\n\nexport type NavigationSchemaSortOrder = 'ascending' | 'descending';\n\nexport type NavigationSchemaColumn = {\n name: string;\n type?: string;\n sortOrder?: NavigationSchemaSortOrder;\n required?: boolean;\n [key: string]: unknown;\n};\n\nexport type NavigationSchemaConfig<\n TColumn extends NavigationSchemaColumn = NavigationSchemaColumn,\n> = NavigationAsyncConfig & {\n columns: TColumn[];\n};\n\nexport type NavigationCellValue = ReactNode;\n\nexport type NavigationPreviewRow = Record<string, NavigationCellValue>;\n\nexport type NavigationPreviewColumn<TRow extends NavigationPreviewRow = NavigationPreviewRow> =\n string | QueryResultColumn<TRow>;\n\nexport type NavigationPreviewConfig<TRow extends NavigationPreviewRow = NavigationPreviewRow> =\n NavigationAsyncConfig & {\n columns: Array<NavigationPreviewColumn<TRow>>;\n rows: TRow[];\n };\n\nexport type NavigationPreviewFormatterConfig = {\n /** Applied when every displayed preview column declares a YQL type. */\n formatterSettings?: QueryResultFormatterSettings;\n maxVisibleLines?: number;\n};\n\nexport type NavigationViewRow = NavigationPreviewRow;\n\nexport type NavigationViewSectionAction<TRow extends NavigationViewRow = NavigationViewRow> =\n NavigationAction<NavigationViewSection<TRow>>;\n\nexport type NavigationViewSection<TRow extends NavigationViewRow = NavigationViewRow> =\n NavigationAsyncConfig & {\n id: string;\n title: ReactNode;\n columns: string[];\n rows: TRow[];\n expanded?: boolean;\n defaultExpanded?: boolean;\n onExpandedChange?: (expanded: boolean) => void;\n actions?: Array<NavigationViewSectionAction<TRow>>;\n };\n\nexport type NavigationViewConfig<TRow extends NavigationViewRow = NavigationViewRow> =\n NavigationAsyncConfig & {\n sections: Array<NavigationViewSection<TRow>>;\n };\n\nexport type NavigationMetaItem = {\n name: string;\n value: NavigationCellValue;\n [key: string]: unknown;\n};\n\nexport type NavigationMetaGroup<TItem extends NavigationMetaItem = NavigationMetaItem> = {\n title?: string;\n items: TItem[];\n};\n\nexport type NavigationMetaConfig<TItem extends NavigationMetaItem = NavigationMetaItem> =\n NavigationAsyncConfig & {\n groups: Array<NavigationMetaGroup<TItem>>;\n };\n\nexport type NavigationDetailConfig = {\n tabs: NavigationDetailTab[];\n defaultTab?: string;\n hasSearch?: boolean;\n searchPlaceholder?: string;\n actions?: NavigationHeaderAction[];\n emptyContent?: ReactNode;\n};\n\nexport type ResolveNavigationDetail<T extends NavigationItem = NavigationItem> = (\n item: T,\n) => NavigationDetailConfig | undefined;\n\nexport type NavigationDetailConfigFactory<T extends NavigationItem = NavigationItem> = (\n item: T,\n) => NavigationDetailConfig;\n\nexport type NavigationSearchConfig = {\n value?: string;\n onUpdate?: (value: string) => void;\n};\n\nexport type NavigationSortConfig = {\n value?: NavigationSortOrder;\n onUpdate?: (sort: NavigationSortOrder) => void;\n};\n\nexport type NavigationListStateConfig = {\n loading?: boolean;\n error?: boolean | ReactNode;\n hasMore?: boolean;\n onLoadMore?: () => void;\n};\n\nexport type NavigationHeaderConfig = {\n actions?: NavigationHeaderAction[];\n onLoadSuggestions?: LoadPathSuggestions;\n};\n\nexport type NavigationDetailPanelConfig<TItem extends NavigationItem = NavigationItem> = {\n openedItem?: TItem;\n onItemOpen?: (item: TItem) => void;\n onClose?: () => void;\n resolve?: ResolveNavigationDetail<TItem>;\n search?: string;\n onSearchUpdate?: (value: string) => void;\n activeTab?: string;\n onTabUpdate?: (tab: string) => void;\n actions?: NavigationHeaderAction[];\n};\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { AlignType } from '@gravity-ui/react-data-table';
3
+ export type QueryResultDataTypeParameter = string | number | boolean | null | QueryResultDataType | readonly QueryResultDataType[] | readonly [string, QueryResultDataType][];
4
+ /** A YQL type tuple accepted by @gravity-ui/unipika. */
5
+ export type QueryResultDataType = readonly [string, ...QueryResultDataTypeParameter[]];
6
+ export type QueryResultFormatterSettings = {
7
+ escapeWhitespace?: boolean;
8
+ decodeUTF8?: boolean;
9
+ showDecoded?: boolean;
10
+ binaryAsHex?: boolean;
11
+ escapeYQLStrings?: boolean;
12
+ omitStructNull?: boolean;
13
+ maxListSize?: number;
14
+ maxStringSize?: number;
15
+ compact?: boolean;
16
+ };
17
+ export type QueryResultColumn<TRow extends Record<string, unknown>> = {
18
+ name: Extract<keyof TRow, string> | string;
19
+ type: QueryResultDataType;
20
+ header?: ReactNode;
21
+ width?: number | string;
22
+ align?: AlignType;
23
+ render?: (context: QueryResultCellRenderContext<TRow>) => ReactNode;
24
+ };
25
+ export type QueryResultCellRenderContext<TRow extends Record<string, unknown>> = {
26
+ row: TRow;
27
+ value: unknown;
28
+ index: number;
29
+ column: QueryResultColumn<TRow>;
30
+ };
31
+ export type QueryResultsView = 'result' | 'schema';
32
+ export type QueryResultsSchemaRenderContext<TRow extends Record<string, unknown>> = {
33
+ columns: Array<QueryResultColumn<TRow>>;
34
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ // #sourceMappingURL=queryResults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["queryResults.ts"],"sourcesContent":["import type {ReactNode} from 'react';\nimport type {AlignType} from '@gravity-ui/react-data-table';\n\nexport type QueryResultDataTypeParameter =\n | string\n | number\n | boolean\n | null\n | QueryResultDataType\n | readonly QueryResultDataType[]\n | readonly [string, QueryResultDataType][];\n\n/** A YQL type tuple accepted by @gravity-ui/unipika. */\nexport type QueryResultDataType = readonly [string, ...QueryResultDataTypeParameter[]];\n\nexport type QueryResultFormatterSettings = {\n escapeWhitespace?: boolean;\n decodeUTF8?: boolean;\n showDecoded?: boolean;\n binaryAsHex?: boolean;\n escapeYQLStrings?: boolean;\n omitStructNull?: boolean;\n maxListSize?: number;\n maxStringSize?: number;\n compact?: boolean;\n};\n\nexport type QueryResultColumn<TRow extends Record<string, unknown>> = {\n name: Extract<keyof TRow, string> | string;\n type: QueryResultDataType;\n header?: ReactNode;\n width?: number | string;\n align?: AlignType;\n render?: (context: QueryResultCellRenderContext<TRow>) => ReactNode;\n};\n\nexport type QueryResultCellRenderContext<TRow extends Record<string, unknown>> = {\n row: TRow;\n value: unknown;\n index: number;\n column: QueryResultColumn<TRow>;\n};\n\nexport type QueryResultsView = 'result' | 'schema';\n\nexport type QueryResultsSchemaRenderContext<TRow extends Record<string, unknown>> = {\n columns: Array<QueryResultColumn<TRow>>;\n};\n"],"mappings":"","ignoreList":[]}