@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,336 @@
1
+ import React, {useMemo, useRef, useState} from 'react';
2
+ import {Button, Flex, Icon, Tab, TabList, TabPanel, TabProvider, Text} from '@gravity-ui/uikit';
3
+ import {AttachmentList, AttachmentListPlaceholder, EditAttachmentItem} from '../../components';
4
+ import {createUuid} from '../../helpers/createUuid';
5
+ import {isObjectEqual} from '../../helpers/isObjectEqual';
6
+ import {Plus} from '@gravity-ui/icons';
7
+ import type {
8
+ AttachmentItemProps,
9
+ AttachmentListPlaceholderProps,
10
+ AttachmentListProps,
11
+ EditLinkValues,
12
+ } from '../../components';
13
+ import cn from 'bem-cn-lite';
14
+
15
+ import i18n from './i18n';
16
+
17
+ import './Attachments.scss';
18
+
19
+ type TabVariants = 'Current' | 'Deleted';
20
+
21
+ export type AttachItem = AttachmentItemProps['attachment'] & {token?: string; isNew?: boolean};
22
+
23
+ export type AttachmentsProps = {
24
+ tokens?: {value: string; title: string}[];
25
+ placeholderProps?: Omit<AttachmentListPlaceholderProps, 'onAddFile' | 'onAddLink'>;
26
+ attachmentListProps?: Pick<AttachmentListProps, 'className'>;
27
+ attachments?: AttachItem[];
28
+ deletedAttachments?: AttachItem[];
29
+ onChange?: (payload: {attachments: AttachItem[]; deletedAttachments: AttachItem[]}) => void;
30
+ };
31
+
32
+ const block = cn('qp-attachments');
33
+
34
+ export const Attachments = ({
35
+ tokens,
36
+ placeholderProps,
37
+ attachmentListProps,
38
+ onChange,
39
+ attachments: customerAttachments,
40
+ deletedAttachments: customerDeletedAttachments,
41
+ }: AttachmentsProps) => {
42
+ const [currentTab, setCurrentTab] = useState<'Current' | 'Deleted'>('Current');
43
+
44
+ const [innerAttachList, setInnerAttachList] = useState<AttachItem[]>(customerAttachments ?? []);
45
+ const [innerDeletedAttachList, setInnerDeletedAttachList] = useState<AttachItem[]>(
46
+ customerDeletedAttachments ?? [],
47
+ );
48
+
49
+ const [editingIds, setEditingIds] = useState<string[]>([]);
50
+ const [wasAddedIds, setWasAddedIds] = useState<string[]>([]);
51
+ const [wasEdited, setWasEditedIds] = useState<string[]>([]);
52
+
53
+ const attachList = customerAttachments ?? innerAttachList;
54
+ const deletedAttachList = customerDeletedAttachments ?? innerDeletedAttachList;
55
+
56
+ const attachCount = useMemo(() => attachList.filter((a) => !a.isNew).length, [attachList]);
57
+
58
+ const defaultAttachList = useRef(attachList);
59
+
60
+ const getDefaultValuesForLink = (linkId: string) => {
61
+ const currentLink = attachList.find((a) => a.id === linkId);
62
+ return {
63
+ name: currentLink?.name ?? '',
64
+ link: currentLink?.link ?? '',
65
+ token: currentLink?.token ?? '',
66
+ };
67
+ };
68
+
69
+ const runAfterAttachAdded = (attachId: string, newAttach: AttachItem) => {
70
+ const editedAttach = defaultAttachList.current.find((a) => a.id === attachId);
71
+
72
+ if (!editedAttach) return;
73
+
74
+ if (isObjectEqual(editedAttach, newAttach)) {
75
+ setWasEditedIds(wasEdited.filter((id) => id !== attachId));
76
+ return;
77
+ }
78
+
79
+ setWasEditedIds([...wasEdited, attachId]);
80
+ };
81
+
82
+ const handleAddEmptyFile = () => {
83
+ const id = createUuid();
84
+
85
+ const patchAttachList = [
86
+ ...attachList.filter((a) => !a.isNew),
87
+ {id, name: '', isNew: true},
88
+ ];
89
+
90
+ setInnerAttachList(patchAttachList);
91
+ setWasAddedIds([...wasAddedIds, id]);
92
+ setEditingIds([...editingIds, id]);
93
+
94
+ onChange?.({
95
+ attachments: patchAttachList,
96
+ deletedAttachments: deletedAttachList,
97
+ });
98
+ };
99
+
100
+ const handleAddEmptyLink = () => {
101
+ const id = createUuid();
102
+
103
+ const patchAttachList = [
104
+ ...attachList.filter((a) => !a.isNew),
105
+ {id, name: '', token: '', link: '', isNew: true},
106
+ ];
107
+
108
+ setInnerAttachList(patchAttachList);
109
+ setWasAddedIds([...wasAddedIds, id]);
110
+ setEditingIds([...editingIds, id]);
111
+
112
+ onChange?.({
113
+ attachments: patchAttachList,
114
+ deletedAttachments: deletedAttachList,
115
+ });
116
+ };
117
+
118
+ const handleAcceptFile = (fileId: string, fileName: string) => {
119
+ const patchedFile = attachList.find((a) => a.id === fileId);
120
+ if (!patchedFile) return;
121
+
122
+ const patchEditingIds = editingIds.filter((id) => id !== fileId);
123
+ const patchAttachList = attachList.map((attach) => {
124
+ if (attach.id === fileId) return {id: fileId, name: fileName};
125
+ return attach;
126
+ });
127
+
128
+ setEditingIds(patchEditingIds);
129
+ setInnerAttachList(patchAttachList);
130
+
131
+ onChange?.({
132
+ attachments: patchAttachList,
133
+ deletedAttachments: deletedAttachList,
134
+ });
135
+
136
+ runAfterAttachAdded(fileId, {id: fileId, name: fileName});
137
+ };
138
+
139
+ const handleAcceptLink = (linkId: string, link: EditLinkValues) => {
140
+ const patchedLink = attachList.find((a) => a.id === linkId);
141
+ if (!patchedLink) return;
142
+
143
+ const patchEditingIds = editingIds.filter((id) => id !== linkId);
144
+ const patchAttachList = attachList.map((attach) => {
145
+ if (attach.id === linkId) return {id: linkId, ...link};
146
+ return attach;
147
+ });
148
+
149
+ setEditingIds(patchEditingIds);
150
+ setInnerAttachList(patchAttachList);
151
+
152
+ onChange?.({
153
+ attachments: patchAttachList,
154
+ deletedAttachments: deletedAttachList,
155
+ });
156
+
157
+ runAfterAttachAdded(linkId, {id: linkId, ...link});
158
+ };
159
+
160
+ const handleCancelEdit = (fileId: string) => {
161
+ const patchEditingIds = editingIds.filter((id) => id !== fileId);
162
+ const patchAttachList = attachList.filter((a) => !a.isNew);
163
+
164
+ const wasItNewAttach = attachList.some((a) => a.isNew);
165
+ if (wasItNewAttach) {
166
+ setWasAddedIds(wasAddedIds.filter((id) => id !== fileId));
167
+ }
168
+
169
+ setInnerAttachList(patchAttachList);
170
+ setEditingIds(patchEditingIds);
171
+
172
+ onChange?.({
173
+ attachments: patchAttachList,
174
+ deletedAttachments: deletedAttachList,
175
+ });
176
+ };
177
+
178
+ const handleEdit = (editAttachId: string) => {
179
+ const patchEditingIds = [...editingIds, editAttachId];
180
+
181
+ setEditingIds(patchEditingIds);
182
+ };
183
+
184
+ const handleDelete = (attachId: string) => {
185
+ const deletedAttachmen = attachList.find((a) => a.id === attachId);
186
+
187
+ if (!deletedAttachmen) return;
188
+
189
+ const patchAttachList = attachList.filter((a) => a.id !== attachId);
190
+ const patchDeletedAttachList = [...deletedAttachList, deletedAttachmen];
191
+
192
+ setInnerAttachList(patchAttachList);
193
+ setInnerDeletedAttachList(patchDeletedAttachList);
194
+
195
+ onChange?.({
196
+ attachments: patchAttachList,
197
+ deletedAttachments: patchDeletedAttachList,
198
+ });
199
+ };
200
+
201
+ const handleDeleteAll = () => {
202
+ const patchAttachList: never[] = [];
203
+ const patchDeletedAttachList = [
204
+ ...deletedAttachList,
205
+ ...attachList.filter((a) => !a.isNew),
206
+ ];
207
+
208
+ setInnerAttachList(patchAttachList);
209
+ setInnerDeletedAttachList(patchDeletedAttachList);
210
+
211
+ onChange?.({
212
+ attachments: patchAttachList,
213
+ deletedAttachments: patchDeletedAttachList,
214
+ });
215
+ };
216
+
217
+ const handleRevertDelete = (attachId: string) => {
218
+ const revertAttach = deletedAttachList.find((a) => a.id === attachId);
219
+
220
+ if (!revertAttach) return;
221
+
222
+ const patchAttachList = [...attachList, revertAttach];
223
+ const patchDeletedAttachList = deletedAttachList.filter((a) => a.id !== attachId);
224
+
225
+ setInnerAttachList(patchAttachList);
226
+ setInnerDeletedAttachList(patchDeletedAttachList);
227
+
228
+ onChange?.({
229
+ attachments: patchAttachList,
230
+ deletedAttachments: patchDeletedAttachList,
231
+ });
232
+ };
233
+
234
+ return (
235
+ <Flex className={block()} direction="column" width="100%" height="100%">
236
+ <TabProvider value={currentTab} onUpdate={(tab) => setCurrentTab(tab as TabVariants)}>
237
+ <TabList>
238
+ <Tab className={block('tab')} value="Current">
239
+ <Text variant="body-1">Current</Text>
240
+ <Text color="hint" variant="body-1">
241
+ {attachCount}
242
+ </Text>
243
+ </Tab>
244
+ <Tab className={block('tab')} value="Deleted">
245
+ <Text variant="body-1">Deleted</Text>
246
+ <Text color="hint" variant="body-1">
247
+ {deletedAttachList.length}
248
+ </Text>
249
+ </Tab>
250
+ </TabList>
251
+
252
+ <TabPanel className={block('panel')} value="Current">
253
+ <Flex spacing={{pt: 3}} direction="column" width="100%" height="100%">
254
+ {attachList.length ? (
255
+ <AttachmentList
256
+ {...attachmentListProps}
257
+ attachments={attachList}
258
+ wasAddedIds={wasAddedIds}
259
+ wasEditedIds={wasEdited}
260
+ editingIds={editingIds}
261
+ onEdit={(attach) => handleEdit(attach.id)}
262
+ onDelete={(attach) => handleDelete(attach.id)}
263
+ renderEditForm={(attach) => {
264
+ const isLink = typeof attach.link === 'string';
265
+
266
+ if (isLink) {
267
+ const defaultLinkValues = getDefaultValuesForLink(
268
+ attach.id,
269
+ );
270
+
271
+ return (
272
+ <EditAttachmentItem
273
+ type="link"
274
+ onAccept={(link) =>
275
+ handleAcceptLink(attach.id, link)
276
+ }
277
+ defaultValues={defaultLinkValues}
278
+ tokens={tokens}
279
+ onCancel={() => handleCancelEdit(attach.id)}
280
+ />
281
+ );
282
+ }
283
+
284
+ return (
285
+ <EditAttachmentItem
286
+ type="file"
287
+ defaultFileName={attach.name}
288
+ onAccept={(pathName) =>
289
+ handleAcceptFile(attach.id, pathName)
290
+ }
291
+ onCancel={() => handleCancelEdit(attach.id)}
292
+ />
293
+ );
294
+ }}
295
+ />
296
+ ) : (
297
+ <AttachmentListPlaceholder
298
+ onAddFile={handleAddEmptyFile}
299
+ onAddLink={handleAddEmptyLink}
300
+ {...placeholderProps}
301
+ />
302
+ )}
303
+ {Boolean(attachList.length) && (
304
+ <Flex gap={2}>
305
+ <Button onClick={handleAddEmptyFile}>
306
+ <Icon data={Plus} />
307
+ {i18n('action_add-file')}
308
+ </Button>
309
+
310
+ <Button view="outlined" onClick={handleAddEmptyLink}>
311
+ <Icon data={Plus} />
312
+ {i18n('action_add-link')}
313
+ </Button>
314
+
315
+ <Button view="flat" onClick={handleDeleteAll}>
316
+ {i18n('action_remove-all')}
317
+ </Button>
318
+ </Flex>
319
+ )}
320
+ </Flex>
321
+ </TabPanel>
322
+
323
+ <TabPanel className={block('panel')} value="Deleted">
324
+ <Flex spacing={{pt: 3}} width="100%" height="100%">
325
+ <AttachmentList
326
+ {...attachmentListProps}
327
+ isDeleted
328
+ attachments={deletedAttachList}
329
+ onRevert={(attach) => handleRevertDelete(attach.id)}
330
+ />
331
+ </Flex>
332
+ </TabPanel>
333
+ </TabProvider>
334
+ </Flex>
335
+ );
336
+ };
@@ -0,0 +1,4 @@
1
+ import en from './en.json';
2
+ import ru from './ru.json';
3
+
4
+ export default {en, ru};
@@ -0,0 +1,5 @@
1
+ {
2
+ "action_add-file": "File",
3
+ "action_add-link": "Link",
4
+ "action_remove-all": "Remove all"
5
+ }
@@ -0,0 +1,5 @@
1
+ import {addI18Keysets} from '../../../i18n';
2
+
3
+ import dicts from './dicts';
4
+
5
+ export default addI18Keysets('qp:attachments', dicts);
@@ -0,0 +1,5 @@
1
+ {
2
+ "action_add-file": "Файл",
3
+ "action_add-link": "Ссылка",
4
+ "action_remove-all": "Удалить все"
5
+ }
@@ -0,0 +1,2 @@
1
+ export {Attachments} from './Attachments';
2
+ export type {AttachmentsProps, AttachItem} from './Attachments';
@@ -1,24 +1,32 @@
1
1
  .qp-navigation-preview {
2
- --data-table-border-color: var(--g-color-line-generic);
2
+ --data-table-border-color: var(--g-color-line-generic);
3
3
 
4
- min-width: 0;
4
+ min-width: 0;
5
5
 
6
- &__error {
7
- display: block;
8
- }
6
+ &__error {
7
+ display: block;
8
+ }
9
9
 
10
- &__table {
11
- overflow-x: auto;
12
- }
10
+ &__table {
11
+ overflow-x: auto;
12
+ }
13
13
 
14
- .data-table__row,
15
- .data-table__head {
16
- height: 40px;
17
- }
14
+ .data-table__row,
15
+ .data-table__head-row {
16
+ height: 40px;
17
+ }
18
18
 
19
- .data-table__th,
20
- .data-table__td {
21
- border-width: 0 0 1px;
22
- vertical-align: middle;
23
- }
19
+ .data-table__box_sticky-head_moving .data-table__head-row {
20
+ height: auto;
21
+ }
22
+
23
+ .data-table__sticky_head .data-table__head-row {
24
+ height: 40px;
25
+ }
26
+
27
+ .data-table__th,
28
+ .data-table__td {
29
+ border-width: 0 0 1px;
30
+ vertical-align: middle;
31
+ }
24
32
  }
@@ -1,9 +1,15 @@
1
1
  import React, {useMemo} from 'react';
2
2
  import {Flex, Text} from '@gravity-ui/uikit';
3
3
  import cn from 'bem-cn-lite';
4
- import {type Column, DataTable, FieldsSearchToolbar} from '../../components';
4
+ import {type Column, DataTable, FieldsSearchToolbar, QueryResultsTable} from '../../components';
5
5
  import {useVisibleColumns} from '../../helpers/useVisibleColumns';
6
- import type {NavigationPreviewConfig, NavigationPreviewRow} from '../../types/navigation';
6
+ import type {
7
+ NavigationPreviewColumn,
8
+ NavigationPreviewConfig,
9
+ NavigationPreviewFormatterConfig,
10
+ NavigationPreviewRow,
11
+ } from '../../types/navigation';
12
+ import type {QueryResultColumn} from '../../types/queryResults';
7
13
  import {buildPreviewColumns} from './helpers/buildPreviewColumns';
8
14
  import {filterPreviewRows} from './helpers/filterPreviewRows';
9
15
  import i18n from './i18n';
@@ -12,7 +18,7 @@ import './NavigationPreview.scss';
12
18
  const block = cn('qp-navigation-preview');
13
19
 
14
20
  export type NavigationPreviewViewConfig<TRow extends NavigationPreviewRow = NavigationPreviewRow> =
15
- {
21
+ NavigationPreviewFormatterConfig & {
16
22
  tableColumns?: Array<Column<TRow>>;
17
23
  extraColumns?: Array<Column<TRow>>;
18
24
  };
@@ -31,6 +37,16 @@ export type NavigationPreviewProps<TRow extends NavigationPreviewRow = Navigatio
31
37
  className?: string;
32
38
  };
33
39
 
40
+ function getColumnName<TRow extends NavigationPreviewRow>(column: NavigationPreviewColumn<TRow>) {
41
+ return typeof column === 'string' ? column : column.name;
42
+ }
43
+
44
+ function isQueryResultColumn<TRow extends NavigationPreviewRow>(
45
+ column: NavigationPreviewColumn<TRow>,
46
+ ): column is QueryResultColumn<TRow> {
47
+ return typeof column !== 'string';
48
+ }
49
+
34
50
  export function NavigationPreview<TRow extends NavigationPreviewRow = NavigationPreviewRow>({
35
51
  data,
36
52
  view,
@@ -45,18 +61,29 @@ export function NavigationPreview<TRow extends NavigationPreviewRow = Navigation
45
61
  className,
46
62
  }: NavigationPreviewProps<TRow>) {
47
63
  const {columns, rows, loading, loaded, errorContent} = data;
48
- const {tableColumns, extraColumns} = view ?? {};
64
+ const {tableColumns, extraColumns, formatterSettings, maxVisibleLines} = view ?? {};
65
+ const columnNames = useMemo(() => columns.map(getColumnName), [columns]);
49
66
 
50
- const [activeVisibleColumns, handleVisibleColumnsChange] = useVisibleColumns(columns, {
67
+ const [activeVisibleColumns, handleVisibleColumnsChange] = useVisibleColumns(columnNames, {
51
68
  value: visibleColumns,
52
69
  onChange: onVisibleColumnsChange,
53
70
  defaultValue: defaultVisibleColumns,
54
71
  });
55
72
 
56
- const displayedColumnNames = useMemo(
57
- () => columns.filter((column) => activeVisibleColumns.includes(column)),
73
+ const displayedColumns = useMemo(
74
+ () => columns.filter((column) => activeVisibleColumns.includes(getColumnName(column))),
58
75
  [columns, activeVisibleColumns],
59
76
  );
77
+ const displayedColumnNames = useMemo(
78
+ () => displayedColumns.map(getColumnName),
79
+ [displayedColumns],
80
+ );
81
+ const typedColumns = useMemo(
82
+ () => displayedColumns.filter(isQueryResultColumn),
83
+ [displayedColumns],
84
+ );
85
+ const canUseQueryResultsTable =
86
+ !tableColumns && !extraColumns?.length && typedColumns.length === displayedColumns.length;
60
87
 
61
88
  const resolvedColumns = useMemo(() => {
62
89
  if (tableColumns) {
@@ -66,7 +93,11 @@ export function NavigationPreview<TRow extends NavigationPreviewRow = Navigation
66
93
  }, [tableColumns, extraColumns, displayedColumnNames]);
67
94
 
68
95
  const fieldsOptions = useMemo(
69
- () => columns.map((column) => ({id: column, title: column})),
96
+ () =>
97
+ columns.map((column) => ({
98
+ id: getColumnName(column),
99
+ title: typeof column === 'string' ? column : (column.header ?? column.name),
100
+ })),
70
101
  [columns],
71
102
  );
72
103
 
@@ -96,15 +127,29 @@ export function NavigationPreview<TRow extends NavigationPreviewRow = Navigation
96
127
  hideFieldsSelector={hideFieldsSelector}
97
128
  />
98
129
  )}
99
- <DataTable<TRow>
100
- columns={resolvedColumns}
101
- data={filteredRows}
102
- loading={loading}
103
- loaded={loaded}
104
- emptyVariant={search ? 'nothing-found' : 'no-data'}
105
- settings={{displayIndices: false}}
106
- className={block('table')}
107
- />
130
+ {canUseQueryResultsTable ? (
131
+ <QueryResultsTable<TRow>
132
+ columns={typedColumns}
133
+ rows={filteredRows}
134
+ loading={loading}
135
+ loaded={loaded}
136
+ formatterSettings={formatterSettings}
137
+ maxVisibleLines={maxVisibleLines}
138
+ emptyVariant={search ? 'nothing-found' : 'no-data'}
139
+ displayIndices={false}
140
+ className={block('table')}
141
+ />
142
+ ) : (
143
+ <DataTable<TRow>
144
+ columns={resolvedColumns}
145
+ data={filteredRows}
146
+ loading={loading}
147
+ loaded={loaded}
148
+ emptyVariant={search ? 'nothing-found' : 'no-data'}
149
+ settings={{displayIndices: false}}
150
+ className={block('table')}
151
+ />
152
+ )}
108
153
  </Flex>
109
154
  );
110
155
  }
@@ -3,7 +3,7 @@ import type {Meta, StoryObj} from '@storybook/react';
3
3
  import {Icon, Label} from '@gravity-ui/uikit';
4
4
  import LockIcon from '@gravity-ui/icons/svgs/lock.svg';
5
5
  import {NavigationPreview} from '..';
6
- import type {NavigationPreviewRow} from '../../../types/navigation';
6
+ import type {NavigationPreviewColumn, NavigationPreviewRow} from '../../../types/navigation';
7
7
  import {PREVIEW_COLUMNS, PREVIEW_ROWS} from './mockData';
8
8
 
9
9
  const meta: Meta<typeof NavigationPreview> = {
@@ -68,6 +68,31 @@ export const Error: Story = {
68
68
  },
69
69
  };
70
70
 
71
+ const TYPED_COLUMNS: Array<NavigationPreviewColumn<NavigationPreviewRow>> = [
72
+ {name: 'id', type: ['DataType', 'Uint64']},
73
+ {name: 'tags', type: ['ListType', ['DataType', 'Utf8']]},
74
+ {
75
+ name: 'details',
76
+ type: [
77
+ 'StructType',
78
+ [
79
+ ['name', ['DataType', 'Utf8']],
80
+ ['score', ['DataType', 'Double']],
81
+ ],
82
+ ],
83
+ },
84
+ ];
85
+
86
+ const TYPED_ROWS: NavigationPreviewRow[] = [
87
+ {id: 1, tags: ['primary', 'preview'], details: ['Result', 42.5]},
88
+ ];
89
+
90
+ export const TypedValues: Story = {
91
+ args: {
92
+ data: {columns: TYPED_COLUMNS, rows: TYPED_ROWS, loaded: true},
93
+ },
94
+ };
95
+
71
96
  type CustomRow = NavigationPreviewRow & {lock?: string};
72
97
 
73
98
  const CUSTOM_ROWS: CustomRow[] = PREVIEW_ROWS.map((row, index) => ({
@@ -1,9 +1,14 @@
1
- import type {NavigationPreviewRow} from '../../../types/navigation';
1
+ import type {NavigationPreviewColumn, NavigationPreviewRow} from '../../../types/navigation';
2
2
 
3
- export const PREVIEW_COLUMNS = ['id', 'created_at', 'title', 'status'];
3
+ export const PREVIEW_COLUMNS: Array<NavigationPreviewColumn<NavigationPreviewRow>> = [
4
+ {name: 'id', type: ['DataType', 'Int32']},
5
+ {name: 'created_at', type: ['DataType', 'Utf8']},
6
+ {name: 'title', type: ['DataType', 'Utf8']},
7
+ {name: 'status', type: ['DataType', 'Utf8']},
8
+ ];
4
9
 
5
10
  export const PREVIEW_ROWS: NavigationPreviewRow[] = [
6
- {id: '1', created_at: '2024-01-01T10:00:00Z', title: 'First row', status: 'active'},
7
- {id: '2', created_at: '2024-01-02T11:30:00Z', title: 'Second row', status: 'active'},
8
- {id: '3', created_at: '2024-01-03T09:15:00Z', title: 'Third row', status: 'archived'},
11
+ {id: 1, created_at: '2024-01-01T10:00:00Z', title: 'First row', status: 'active'},
12
+ {id: 2, created_at: '2024-01-02T11:30:00Z', title: 'Second row', status: 'active'},
13
+ {id: 3, created_at: '2024-01-03T09:15:00Z', title: 'Third row', status: 'archived'},
9
14
  ];
@@ -0,0 +1,3 @@
1
+ .qp-query-statistics {
2
+ min-width: 0;
3
+ }