@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,93 @@
1
+ import React from 'react';
2
+ import type { StoryObj } from '@storybook/react';
3
+ import { type AttachmentListProps } from './AttachmentList';
4
+ declare const meta: {
5
+ title: string;
6
+ component: ({ attachments, onEdit, onDelete, onRevert, wasAddedIds, wasEditedIds, editingIds, renderEditForm, className, isDeleted, ...listProps }: AttachmentListProps) => React.JSX.Element;
7
+ tags: string[];
8
+ parameters: {
9
+ layout: string;
10
+ };
11
+ decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
12
+ className?: string | undefined;
13
+ qa?: string | undefined;
14
+ autoFocus?: boolean | undefined;
15
+ id?: string | undefined;
16
+ role?: React.AriaRole | undefined;
17
+ filter?: string | undefined;
18
+ loading?: boolean | undefined;
19
+ size?: import("@gravity-ui/uikit").TextInputSize | undefined;
20
+ sortable?: boolean | undefined;
21
+ itemHeight?: number | ((item: {
22
+ disabled?: boolean;
23
+ }, itemIndex: number) => number) | undefined;
24
+ renderItem?: ((item: {
25
+ disabled?: boolean;
26
+ }, isItemActive: boolean, itemIndex: number) => React.ReactNode) | undefined;
27
+ onLoadMore?: (() => void) | undefined;
28
+ onItemClick?: ((item: {
29
+ disabled?: boolean;
30
+ }, index: number, fromKeyboard?: boolean, event?: React.MouseEvent<HTMLDivElement, MouseEvent> | React.KeyboardEvent<HTMLElement>) => void) | undefined;
31
+ filterable?: boolean | undefined;
32
+ itemClassName?: string | undefined;
33
+ itemsClassName?: string | undefined;
34
+ filterClassName?: string | undefined;
35
+ emptyPlaceholder?: React.ReactNode;
36
+ filterPlaceholder?: string | undefined;
37
+ activeItemIndex?: number | undefined;
38
+ itemKey?: ((item: {
39
+ disabled?: boolean;
40
+ }) => string) | undefined;
41
+ itemsHeight?: number | ((items: unknown[]) => number) | undefined;
42
+ deactivateOnLeave?: boolean | undefined;
43
+ sortHandleAlign?: import("@gravity-ui/uikit").ListSortHandleAlign | undefined;
44
+ filterItem?: ((filter: string) => (item: {
45
+ disabled?: boolean;
46
+ }) => boolean) | undefined;
47
+ onFilterUpdate?: ((filter: string) => void) | undefined;
48
+ onFilterEnd?: (({ items }: {
49
+ items: {
50
+ disabled?: boolean;
51
+ }[];
52
+ }) => void) | undefined;
53
+ onSortEnd?: ((params: import("@gravity-ui/uikit").ListSortParams) => void) | undefined;
54
+ onChangeActive?: ((index?: number) => void) | undefined;
55
+ onScrollToItem?: ((node: HTMLElement) => boolean) | undefined;
56
+ attachments: import(".").AttachmentItemProps["attachment"][];
57
+ onDelete?: ((attachment: import(".").AttachmentItemProps["attachment"]) => void) | undefined;
58
+ onEdit?: ((attachment: import(".").AttachmentItemProps["attachment"]) => void) | undefined;
59
+ onRevert?: ((attachment: import(".").AttachmentItemProps["attachment"]) => void) | undefined;
60
+ renderEditForm?: ((attachment: import(".").AttachmentItemProps["attachment"]) => React.ReactNode) | undefined;
61
+ wasAddedIds?: string[] | undefined;
62
+ wasEditedIds?: string[] | undefined;
63
+ editingIds?: string[] | undefined;
64
+ isDeleted?: boolean | undefined;
65
+ }>) => React.JSX.Element)[];
66
+ args: {
67
+ attachments: {
68
+ id: string;
69
+ name: string;
70
+ link?: string;
71
+ }[];
72
+ onDelete: import("@vitest/spy").Mock<(...args: any[]) => any>;
73
+ onEdit: import("@vitest/spy").Mock<(...args: any[]) => any>;
74
+ };
75
+ };
76
+ export default meta;
77
+ type Story = StoryObj<typeof meta>;
78
+ /** Attachments with supported extensions use their corresponding icons. Row actions appear on hover. */
79
+ export declare const Default: Story;
80
+ /** `wasAddedIds` and `wasEditedIds` highlight attachments with their current change state. */
81
+ export declare const ChangeStates: Story;
82
+ /** The inherited List filtering API can be enabled when a consumer needs local attachment search. */
83
+ export declare const Filterable: Story;
84
+ /** Hover a row: edit toggles its edited state and delete removes it from the list. */
85
+ export declare const InteractiveActions: Story;
86
+ /** Hover a row and click edit to replace it with a consumer-provided rename form. */
87
+ export declare const CustomEditForm: Story;
88
+ /** Drag attachments by the handle to reorder them using the inherited List sorting API. */
89
+ export declare const Sortable: Story;
90
+ /** Consumer-provided content is displayed when the attachment array is empty. */
91
+ export declare const Empty: Story;
92
+ /** The inherited loading state can be used while the attachment collection is being fetched. */
93
+ export declare const Loading: Story;
@@ -0,0 +1,315 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import "core-js/modules/es.array.concat.js";
5
+ import "core-js/modules/es.array.filter.js";
6
+ import "core-js/modules/es.array.includes.js";
7
+ import "core-js/modules/es.array.map.js";
8
+ import "core-js/modules/es.array.splice.js";
9
+ import "core-js/modules/es.function.name.js";
10
+ import "core-js/modules/es.iterator.constructor.js";
11
+ import "core-js/modules/es.iterator.filter.js";
12
+ import "core-js/modules/es.iterator.map.js";
13
+ import "core-js/modules/es.object.to-string.js";
14
+ import "core-js/modules/es.string.includes.js";
15
+ import "core-js/modules/es.string.link.js";
16
+ import React, { useState } from 'react';
17
+ import { Text } from '@gravity-ui/uikit';
18
+ import { EditAttachmentItem } from "./internal/EditAttachmentItem";
19
+ import { fn } from 'storybook/test';
20
+ import { AttachmentList } from "./AttachmentList";
21
+ import { jsx as _jsx } from "react/jsx-runtime";
22
+ var attachments = [{
23
+ id: 'readme',
24
+ name: 'README'
25
+ }, {
26
+ id: 'javascript',
27
+ name: 'index.js'
28
+ }, {
29
+ id: 'python',
30
+ name: 'main.py'
31
+ }, {
32
+ id: 'csv',
33
+ name: 'sales.csv'
34
+ }, {
35
+ id: 'link-image',
36
+ name: 'https://home/tutorial',
37
+ link: 'https://home/tutorial'
38
+ }, {
39
+ id: 'excel',
40
+ name: 'forecast.xlsx'
41
+ }, {
42
+ id: 'cpp',
43
+ name: 'processor.cpp'
44
+ }, {
45
+ id: 'ql',
46
+ name: 'analytics.ql'
47
+ }, {
48
+ id: 'yql',
49
+ name: 'events.yql'
50
+ }, {
51
+ id: 'sql',
52
+ name: 'report.sql'
53
+ }, {
54
+ id: 'link',
55
+ name: 'link to file.cpp',
56
+ link: 'link/to/file.cpp'
57
+ }];
58
+ var meta = {
59
+ title: 'Components/AttachmentList',
60
+ component: AttachmentList,
61
+ tags: ['autodocs'],
62
+ parameters: {
63
+ layout: 'padded'
64
+ },
65
+ decorators: [function (Story) {
66
+ return /*#__PURE__*/_jsx("div", {
67
+ style: {
68
+ width: 360,
69
+ height: 360
70
+ },
71
+ children: /*#__PURE__*/_jsx(Story, {})
72
+ });
73
+ }],
74
+ args: {
75
+ attachments: attachments,
76
+ onDelete: fn(),
77
+ onEdit: fn()
78
+ }
79
+ };
80
+ export default meta;
81
+ /** Attachments with supported extensions use their corresponding icons. Row actions appear on hover. */
82
+ export var Default = {};
83
+
84
+ /** `wasAddedIds` and `wasEditedIds` highlight attachments with their current change state. */
85
+ export var ChangeStates = {
86
+ args: {
87
+ wasAddedIds: ['javascript', 'csv'],
88
+ wasEditedIds: ['python', 'sql']
89
+ }
90
+ };
91
+
92
+ /** The inherited List filtering API can be enabled when a consumer needs local attachment search. */
93
+ export var Filterable = {
94
+ args: {
95
+ filterable: true,
96
+ filterPlaceholder: 'Filter by attachment name',
97
+ filterItem: function filterItem(filter) {
98
+ return function (attachment) {
99
+ return attachment.name.toLocaleLowerCase().includes(filter.toLocaleLowerCase());
100
+ };
101
+ }
102
+ }
103
+ };
104
+ var InteractiveAttachmentList = function InteractiveAttachmentList(props) {
105
+ var _useState = useState(props.attachments),
106
+ _useState2 = _slicedToArray(_useState, 2),
107
+ currentAttachments = _useState2[0],
108
+ setCurrentAttachments = _useState2[1];
109
+ var _useState3 = useState([]),
110
+ _useState4 = _slicedToArray(_useState3, 2),
111
+ editedIds = _useState4[0],
112
+ setEditedIds = _useState4[1];
113
+ return /*#__PURE__*/_jsx(AttachmentList, _objectSpread(_objectSpread({}, props), {}, {
114
+ attachments: currentAttachments,
115
+ wasEditedIds: editedIds,
116
+ onDelete: function onDelete(attachment) {
117
+ var _props$onDelete;
118
+ (_props$onDelete = props.onDelete) === null || _props$onDelete === void 0 || _props$onDelete.call(props, attachment);
119
+ setCurrentAttachments(function (current) {
120
+ return current.filter(function (item) {
121
+ return item.id !== attachment.id;
122
+ });
123
+ });
124
+ setEditedIds(function (current) {
125
+ return current.filter(function (id) {
126
+ return id !== attachment.id;
127
+ });
128
+ });
129
+ },
130
+ onEdit: function onEdit(attachment) {
131
+ var _props$onEdit;
132
+ (_props$onEdit = props.onEdit) === null || _props$onEdit === void 0 || _props$onEdit.call(props, attachment);
133
+ setEditedIds(function (current) {
134
+ return current.includes(attachment.id) ? current.filter(function (id) {
135
+ return id !== attachment.id;
136
+ }) : [].concat(_toConsumableArray(current), [attachment.id]);
137
+ });
138
+ }
139
+ }));
140
+ };
141
+
142
+ /** Hover a row: edit toggles its edited state and delete removes it from the list. */
143
+ export var InteractiveActions = {
144
+ render: function render(args) {
145
+ return /*#__PURE__*/_jsx(InteractiveAttachmentList, _objectSpread({}, args));
146
+ }
147
+ };
148
+ var EditableAttachmentList = function EditableAttachmentList(props) {
149
+ var _useState5 = useState(props.attachments),
150
+ _useState6 = _slicedToArray(_useState5, 2),
151
+ currentAttachments = _useState6[0],
152
+ setCurrentAttachments = _useState6[1];
153
+ var _useState7 = useState(),
154
+ _useState8 = _slicedToArray(_useState7, 2),
155
+ editingId = _useState8[0],
156
+ setEditingId = _useState8[1];
157
+ var _useState9 = useState(''),
158
+ _useState0 = _slicedToArray(_useState9, 2),
159
+ draftName = _useState0[0],
160
+ setDraftName = _useState0[1];
161
+ var _useState1 = useState({
162
+ link: '',
163
+ token: '',
164
+ name: ''
165
+ }),
166
+ _useState10 = _slicedToArray(_useState1, 2),
167
+ draftLink = _useState10[0],
168
+ setDraftLink = _useState10[1];
169
+ var handleAcceptDraft = function handleAcceptDraft() {
170
+ setCurrentAttachments(function (prevState) {
171
+ return prevState.map(function (attach) {
172
+ if (attach.id === editingId && attach.link === undefined) {
173
+ return _objectSpread(_objectSpread({}, attach), {}, {
174
+ name: draftName
175
+ });
176
+ }
177
+ if (attach.id === editingId && typeof attach.link === 'string') {
178
+ return _objectSpread(_objectSpread({}, attach), {}, {
179
+ name: draftLink.name,
180
+ link: draftLink.link
181
+ });
182
+ }
183
+ return attach;
184
+ });
185
+ });
186
+ setDraftName('');
187
+ setEditingId('');
188
+ };
189
+ return /*#__PURE__*/_jsx(AttachmentList, _objectSpread(_objectSpread({}, props), {}, {
190
+ attachments: currentAttachments,
191
+ editingIds: editingId ? [editingId] : [],
192
+ onDelete: function onDelete(attach) {
193
+ return setCurrentAttachments(function (list) {
194
+ return list.filter(function (l) {
195
+ return l.id !== attach.id;
196
+ });
197
+ });
198
+ },
199
+ onEdit: function onEdit(attachment) {
200
+ var _props$onEdit2;
201
+ (_props$onEdit2 = props.onEdit) === null || _props$onEdit2 === void 0 || _props$onEdit2.call(props, attachment);
202
+ setEditingId(attachment.id);
203
+ setDraftName(attachment.name);
204
+ if (typeof attachment.link === 'string') {
205
+ setDraftLink(_objectSpread(_objectSpread({}, draftLink), {}, {
206
+ name: attachment.name,
207
+ link: attachment.link
208
+ }));
209
+ }
210
+ },
211
+ renderEditForm: function renderEditForm(attachment) {
212
+ var isLink = typeof attachment.link === 'string';
213
+ if (isLink) {
214
+ return /*#__PURE__*/_jsx(EditAttachmentItem, {
215
+ onCancel: function onCancel() {
216
+ return setEditingId('');
217
+ },
218
+ onAccept: handleAcceptDraft,
219
+ values: draftLink,
220
+ onChange: setDraftLink,
221
+ tokens: [{
222
+ value: 'default_database_logs',
223
+ title: 'default_database_logs'
224
+ }, {
225
+ value: 'default_yt',
226
+ title: 'default_yt'
227
+ }, {
228
+ value: 'default_yql',
229
+ title: 'default_yql'
230
+ }, {
231
+ value: 'default_long_token_title',
232
+ title: 'default_long_token_title'
233
+ }],
234
+ type: 'link'
235
+ });
236
+ }
237
+ return /*#__PURE__*/_jsx(EditAttachmentItem, {
238
+ fileName: draftName,
239
+ onChangeFileName: setDraftName,
240
+ onCancel: function onCancel() {
241
+ return setEditingId('');
242
+ },
243
+ onAccept: handleAcceptDraft,
244
+ type: 'file'
245
+ });
246
+ }
247
+ }));
248
+ };
249
+
250
+ /** Hover a row and click edit to replace it with a consumer-provided rename form. */
251
+ export var CustomEditForm = {
252
+ render: function render(args) {
253
+ return /*#__PURE__*/_jsx(EditableAttachmentList, _objectSpread({}, args));
254
+ }
255
+ };
256
+ var SortableAttachmentList = function SortableAttachmentList(props) {
257
+ var _useState11 = useState(props.attachments),
258
+ _useState12 = _slicedToArray(_useState11, 2),
259
+ orderedAttachments = _useState12[0],
260
+ setOrderedAttachments = _useState12[1];
261
+ return /*#__PURE__*/_jsx(AttachmentList, _objectSpread(_objectSpread({}, props), {}, {
262
+ attachments: orderedAttachments,
263
+ onSortEnd: function onSortEnd(_ref) {
264
+ var _props$onSortEnd;
265
+ var oldIndex = _ref.oldIndex,
266
+ newIndex = _ref.newIndex;
267
+ (_props$onSortEnd = props.onSortEnd) === null || _props$onSortEnd === void 0 || _props$onSortEnd.call(props, {
268
+ oldIndex: oldIndex,
269
+ newIndex: newIndex
270
+ });
271
+ setOrderedAttachments(function (current) {
272
+ var next = _toConsumableArray(current);
273
+ var _next$splice = next.splice(oldIndex, 1),
274
+ _next$splice2 = _slicedToArray(_next$splice, 1),
275
+ movedAttachment = _next$splice2[0];
276
+ if (movedAttachment) {
277
+ next.splice(newIndex, 0, movedAttachment);
278
+ }
279
+ return next;
280
+ });
281
+ }
282
+ }));
283
+ };
284
+
285
+ /** Drag attachments by the handle to reorder them using the inherited List sorting API. */
286
+ export var Sortable = {
287
+ args: {
288
+ sortable: true,
289
+ sortHandleAlign: 'left',
290
+ onSortEnd: fn()
291
+ },
292
+ render: function render(args) {
293
+ return /*#__PURE__*/_jsx(SortableAttachmentList, _objectSpread({}, args));
294
+ }
295
+ };
296
+
297
+ /** Consumer-provided content is displayed when the attachment array is empty. */
298
+ export var Empty = {
299
+ args: {
300
+ attachments: [],
301
+ emptyPlaceholder: /*#__PURE__*/_jsx(Text, {
302
+ color: "secondary",
303
+ children: "No attachments yet"
304
+ })
305
+ }
306
+ };
307
+
308
+ /** The inherited loading state can be used while the attachment collection is being fetched. */
309
+ export var Loading = {
310
+ args: {
311
+ attachments: [],
312
+ loading: true
313
+ }
314
+ };
315
+ // #sourceMappingURL=AttachmentList.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","Text","EditAttachmentItem","fn","AttachmentList","jsx","_jsx","attachments","id","name","link","meta","title","component","tags","parameters","layout","decorators","Story","style","width","height","children","args","onDelete","onEdit","Default","ChangeStates","wasAddedIds","wasEditedIds","Filterable","filterable","filterPlaceholder","filterItem","filter","attachment","toLocaleLowerCase","includes","InteractiveAttachmentList","props","_useState","_useState2","_slicedToArray","currentAttachments","setCurrentAttachments","_useState3","_useState4","editedIds","setEditedIds","_objectSpread","_props$onDelete","call","current","item","_props$onEdit","concat","_toConsumableArray","InteractiveActions","render","EditableAttachmentList","_useState5","_useState6","_useState7","_useState8","editingId","setEditingId","_useState9","_useState0","draftName","setDraftName","_useState1","token","_useState10","draftLink","setDraftLink","handleAcceptDraft","prevState","map","attach","undefined","editingIds","list","l","_props$onEdit2","renderEditForm","isLink","onCancel","onAccept","values","onChange","tokens","value","type","fileName","onChangeFileName","CustomEditForm","SortableAttachmentList","_useState11","_useState12","orderedAttachments","setOrderedAttachments","onSortEnd","_ref","_props$onSortEnd","oldIndex","newIndex","next","_next$splice","splice","_next$splice2","movedAttachment","Sortable","sortable","sortHandleAlign","Empty","emptyPlaceholder","color","Loading","loading"],"sources":["AttachmentList.stories.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport type {Meta, StoryObj} from '@storybook/react';\nimport {Text} from '@gravity-ui/uikit';\nimport {EditAttachmentItem, EditLinkValues} from './internal/EditAttachmentItem';\nimport {fn} from 'storybook/test';\n\nimport {AttachmentList, type AttachmentListProps} from './AttachmentList';\n\nconst attachments: AttachmentListProps['attachments'] = [\n {id: 'readme', name: 'README'},\n {id: 'javascript', name: 'index.js'},\n {id: 'python', name: 'main.py'},\n {id: 'csv', name: 'sales.csv'},\n {id: 'link-image', name: 'https://home/tutorial', link: 'https://home/tutorial'},\n {id: 'excel', name: 'forecast.xlsx'},\n {id: 'cpp', name: 'processor.cpp'},\n {id: 'ql', name: 'analytics.ql'},\n {id: 'yql', name: 'events.yql'},\n {id: 'sql', name: 'report.sql'},\n {id: 'link', name: 'link to file.cpp', link: 'link/to/file.cpp'},\n];\n\nconst meta = {\n title: 'Components/AttachmentList',\n component: AttachmentList,\n tags: ['autodocs'],\n parameters: {\n layout: 'padded',\n },\n decorators: [\n (Story) => (\n <div style={{width: 360, height: 360}}>\n <Story />\n </div>\n ),\n ],\n args: {\n attachments,\n onDelete: fn(),\n onEdit: fn(),\n },\n} satisfies Meta<typeof AttachmentList>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n/** Attachments with supported extensions use their corresponding icons. Row actions appear on hover. */\nexport const Default: Story = {};\n\n/** `wasAddedIds` and `wasEditedIds` highlight attachments with their current change state. */\nexport const ChangeStates: Story = {\n args: {\n wasAddedIds: ['javascript', 'csv'],\n wasEditedIds: ['python', 'sql'],\n },\n};\n\n/** The inherited List filtering API can be enabled when a consumer needs local attachment search. */\nexport const Filterable: Story = {\n args: {\n filterable: true,\n filterPlaceholder: 'Filter by attachment name',\n filterItem: (filter) => (attachment) =>\n (attachment as AttachmentListProps['attachments'][number]).name\n .toLocaleLowerCase()\n .includes(filter.toLocaleLowerCase()),\n },\n};\n\nconst InteractiveAttachmentList = (props: AttachmentListProps) => {\n const [currentAttachments, setCurrentAttachments] = useState(props.attachments);\n const [editedIds, setEditedIds] = useState<string[]>([]);\n\n return (\n <AttachmentList\n {...props}\n attachments={currentAttachments}\n wasEditedIds={editedIds}\n onDelete={(attachment) => {\n props.onDelete?.(attachment);\n setCurrentAttachments((current) =>\n current.filter((item) => item.id !== attachment.id),\n );\n setEditedIds((current) => current.filter((id) => id !== attachment.id));\n }}\n onEdit={(attachment) => {\n props.onEdit?.(attachment);\n setEditedIds((current) =>\n current.includes(attachment.id)\n ? current.filter((id) => id !== attachment.id)\n : [...current, attachment.id],\n );\n }}\n />\n );\n};\n\n/** Hover a row: edit toggles its edited state and delete removes it from the list. */\nexport const InteractiveActions: Story = {\n render: (args) => <InteractiveAttachmentList {...args} />,\n};\n\nconst EditableAttachmentList = (props: AttachmentListProps) => {\n const [currentAttachments, setCurrentAttachments] = useState(props.attachments);\n const [editingId, setEditingId] = useState<string>();\n const [draftName, setDraftName] = useState('');\n const [draftLink, setDraftLink] = useState<EditLinkValues>({\n link: '',\n token: '',\n name: '',\n });\n\n const handleAcceptDraft = () => {\n setCurrentAttachments((prevState) => {\n return prevState.map((attach) => {\n if (attach.id === editingId && attach.link === undefined) {\n return {\n ...attach,\n name: draftName,\n };\n }\n if (attach.id === editingId && typeof attach.link === 'string') {\n return {\n ...attach,\n name: draftLink.name,\n link: draftLink.link,\n };\n }\n return attach;\n });\n });\n setDraftName('');\n setEditingId('');\n };\n\n return (\n <AttachmentList\n {...props}\n attachments={currentAttachments}\n editingIds={editingId ? [editingId] : []}\n onDelete={(attach) =>\n setCurrentAttachments((list) => list.filter((l) => l.id !== attach.id))\n }\n onEdit={(attachment) => {\n props.onEdit?.(attachment);\n setEditingId(attachment.id);\n setDraftName(attachment.name);\n if (typeof attachment.link === 'string') {\n setDraftLink({...draftLink, name: attachment.name, link: attachment.link});\n }\n }}\n renderEditForm={(attachment) => {\n const isLink = typeof attachment.link === 'string';\n\n if (isLink) {\n return (\n <EditAttachmentItem\n onCancel={() => setEditingId('')}\n onAccept={handleAcceptDraft}\n values={draftLink}\n onChange={setDraftLink}\n tokens={[\n {value: 'default_database_logs', title: 'default_database_logs'},\n {value: 'default_yt', title: 'default_yt'},\n {value: 'default_yql', title: 'default_yql'},\n {\n value: 'default_long_token_title',\n title: 'default_long_token_title',\n },\n ]}\n type={'link'}\n />\n );\n }\n\n return (\n <EditAttachmentItem\n fileName={draftName}\n onChangeFileName={setDraftName}\n onCancel={() => setEditingId('')}\n onAccept={handleAcceptDraft}\n type={'file'}\n />\n );\n }}\n />\n );\n};\n\n/** Hover a row and click edit to replace it with a consumer-provided rename form. */\nexport const CustomEditForm: Story = {\n render: (args) => <EditableAttachmentList {...args} />,\n};\n\nconst SortableAttachmentList = (props: AttachmentListProps) => {\n const [orderedAttachments, setOrderedAttachments] = useState(props.attachments);\n\n return (\n <AttachmentList\n {...props}\n attachments={orderedAttachments}\n onSortEnd={({oldIndex, newIndex}) => {\n props.onSortEnd?.({oldIndex, newIndex});\n setOrderedAttachments((current) => {\n const next = [...current];\n const [movedAttachment] = next.splice(oldIndex, 1);\n\n if (movedAttachment) {\n next.splice(newIndex, 0, movedAttachment);\n }\n\n return next;\n });\n }}\n />\n );\n};\n\n/** Drag attachments by the handle to reorder them using the inherited List sorting API. */\nexport const Sortable: Story = {\n args: {\n sortable: true,\n sortHandleAlign: 'left',\n onSortEnd: fn(),\n },\n render: (args) => <SortableAttachmentList {...args} />,\n};\n\n/** Consumer-provided content is displayed when the attachment array is empty. */\nexport const Empty: Story = {\n args: {\n attachments: [],\n emptyPlaceholder: <Text color=\"secondary\">No attachments yet</Text>,\n },\n};\n\n/** The inherited loading state can be used while the attachment collection is being fetched. */\nexport const Loading: Story = {\n args: {\n attachments: [],\n loading: true,\n },\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export declare const getAttachmentExtension: (attachmentName: string) => "unknown" | "yql" | "js" | "ql" | "sql" | "py" | "csv" | "xls" | "xlsx" | "cpp";
2
+ export declare const getAttachmentIcon: (attachmentName: string) => (() => import("react").JSX.Element) | ((props: import("react").SVGProps<SVGSVGElement>) => React.JSX.Element) | ((props: import("react").SVGProps<SVGSVGElement>) => React.JSX.Element) | ((props: import("react").SVGProps<SVGSVGElement>) => React.JSX.Element) | ((props: import("react").SVGProps<SVGSVGElement>) => React.JSX.Element) | ((props: import("react").SVGProps<SVGSVGElement>) => React.JSX.Element) | ((props: import("react").SVGProps<SVGSVGElement>) => React.JSX.Element);
@@ -0,0 +1,30 @@
1
+ import "core-js/modules/es.array.last-index-of.js";
2
+ import "core-js/modules/es.array.slice.js";
3
+ import { AbbrQl, AbbrSql, FileCode, LayoutList, LogoNodejs, LogoPython } from '@gravity-ui/icons';
4
+ import { LogoCPlusPlus } from "../../Icons";
5
+ var iconMatcher = {
6
+ js: LogoNodejs,
7
+ ql: AbbrQl,
8
+ sql: AbbrSql,
9
+ yql: AbbrSql,
10
+ py: LogoPython,
11
+ csv: LayoutList,
12
+ xls: LayoutList,
13
+ xlsx: LayoutList,
14
+ cpp: LogoCPlusPlus,
15
+ unknown: FileCode
16
+ };
17
+ export var getAttachmentExtension = function getAttachmentExtension(attachmentName) {
18
+ var name = attachmentName.split('/').pop();
19
+ if (name === undefined) return 'unknown';
20
+ var index = name === null || name === void 0 ? void 0 : name.lastIndexOf('.');
21
+ if (index === undefined) return 'unknown';
22
+ var extension = index > 0 ? name.slice(index + 1) : '';
23
+ if (extension in iconMatcher) return extension;
24
+ return 'unknown';
25
+ };
26
+ export var getAttachmentIcon = function getAttachmentIcon(attachmentName) {
27
+ var extension = getAttachmentExtension(attachmentName);
28
+ return iconMatcher[extension];
29
+ };
30
+ // #sourceMappingURL=getIconByAttachmentName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AbbrQl","AbbrSql","FileCode","LayoutList","LogoNodejs","LogoPython","LogoCPlusPlus","iconMatcher","js","ql","sql","yql","py","csv","xls","xlsx","cpp","unknown","getAttachmentExtension","attachmentName","name","split","pop","undefined","index","lastIndexOf","extension","slice","getAttachmentIcon"],"sources":["getIconByAttachmentName.ts"],"sourcesContent":["import {AbbrQl, AbbrSql, FileCode, LayoutList, LogoNodejs, LogoPython} from '@gravity-ui/icons';\nimport {LogoCPlusPlus} from '../../Icons';\n\nconst iconMatcher = {\n js: LogoNodejs,\n ql: AbbrQl,\n sql: AbbrSql,\n yql: AbbrSql,\n py: LogoPython,\n csv: LayoutList,\n xls: LayoutList,\n xlsx: LayoutList,\n cpp: LogoCPlusPlus,\n unknown: FileCode,\n} as const;\n\nexport const getAttachmentExtension = (attachmentName: string) => {\n const name = attachmentName.split('/').pop();\n\n if (name === undefined) return 'unknown';\n\n const index = name?.lastIndexOf('.');\n\n if (index === undefined) return 'unknown';\n\n const extension = index > 0 ? name.slice(index + 1) : '';\n\n if (extension in iconMatcher) return extension as keyof typeof iconMatcher;\n\n return 'unknown';\n};\n\nexport const getAttachmentIcon = (attachmentName: string) => {\n const extension = getAttachmentExtension(attachmentName);\n return iconMatcher[extension];\n};\n"],"mappings":";;AAAA,SAAQA,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,UAAU,EAAEC,UAAU,QAAO,mBAAmB;AAC/F,SAAQC,aAAa;AAErB,IAAMC,WAAW,GAAG;EAChBC,EAAE,EAAEJ,UAAU;EACdK,EAAE,EAAET,MAAM;EACVU,GAAG,EAAET,OAAO;EACZU,GAAG,EAAEV,OAAO;EACZW,EAAE,EAAEP,UAAU;EACdQ,GAAG,EAAEV,UAAU;EACfW,GAAG,EAAEX,UAAU;EACfY,IAAI,EAAEZ,UAAU;EAChBa,GAAG,EAAEV,aAAa;EAClBW,OAAO,EAAEf;AACb,CAAU;AAEV,OAAO,IAAMgB,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIC,cAAsB,EAAK;EAC9D,IAAMC,IAAI,GAAGD,cAAc,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC;EAE5C,IAAIF,IAAI,KAAKG,SAAS,EAAE,OAAO,SAAS;EAExC,IAAMC,KAAK,GAAGJ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEK,WAAW,CAAC,GAAG,CAAC;EAEpC,IAAID,KAAK,KAAKD,SAAS,EAAE,OAAO,SAAS;EAEzC,IAAMG,SAAS,GAAGF,KAAK,GAAG,CAAC,GAAGJ,IAAI,CAACO,KAAK,CAACH,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE;EAExD,IAAIE,SAAS,IAAInB,WAAW,EAAE,OAAOmB,SAAS;EAE9C,OAAO,SAAS;AACpB,CAAC;AAED,OAAO,IAAME,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIT,cAAsB,EAAK;EACzD,IAAMO,SAAS,GAAGR,sBAAsB,CAACC,cAAc,CAAC;EACxD,OAAOZ,WAAW,CAACmB,SAAS,CAAC;AACjC,CAAC","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ export type EditLinkErrors = Partial<{
2
+ link: string;
3
+ token: string;
4
+ name: string;
5
+ }>;
6
+ export type ObjectLinkValidator = (values: Record<string, unknown>, isTokenRequired?: boolean) => EditLinkErrors | null;
7
+ export declare const objectLinkValidator: (values: Record<string, unknown>, isTokenRequired?: boolean) => Partial<Partial<{
8
+ link: string;
9
+ token: string;
10
+ name: string;
11
+ }>> | null;
@@ -0,0 +1,24 @@
1
+ import "core-js/modules/es.function.name.js";
2
+ import "core-js/modules/es.object.keys.js";
3
+ import "core-js/modules/es.string.link.js";
4
+ import { stringRequiredValidator } from "./stringRequiredValidator";
5
+ export var objectLinkValidator = function objectLinkValidator(values, isTokenRequired) {
6
+ var patchErrors = {};
7
+ var linkError = stringRequiredValidator(values.link);
8
+ if (linkError) {
9
+ patchErrors['link'] = linkError;
10
+ }
11
+ var tokenError = isTokenRequired ? stringRequiredValidator(values.token) : null;
12
+ if (tokenError) {
13
+ patchErrors['token'] = tokenError;
14
+ }
15
+ var nameError = stringRequiredValidator(values.name);
16
+ if (nameError) {
17
+ patchErrors['name'] = nameError;
18
+ }
19
+ if (Object.keys(patchErrors).length === 0) {
20
+ return null;
21
+ }
22
+ return patchErrors;
23
+ };
24
+ // #sourceMappingURL=objectLinkValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stringRequiredValidator","objectLinkValidator","values","isTokenRequired","patchErrors","linkError","link","tokenError","token","nameError","name","Object","keys","length"],"sources":["objectLinkValidator.ts"],"sourcesContent":["import {stringRequiredValidator} from './stringRequiredValidator';\n\nexport type EditLinkErrors = Partial<{\n link: string;\n token: string;\n name: string;\n}>;\n\nexport type ObjectLinkValidator = (\n values: Record<string, unknown>,\n isTokenRequired?: boolean,\n) => EditLinkErrors | null;\n\nexport const objectLinkValidator = (values: Record<string, unknown>, isTokenRequired?: boolean) => {\n const patchErrors: Partial<EditLinkErrors> = {};\n\n const linkError = stringRequiredValidator(values.link);\n\n if (linkError) {\n patchErrors['link'] = linkError;\n }\n\n const tokenError = isTokenRequired ? stringRequiredValidator(values.token) : null;\n\n if (tokenError) {\n patchErrors['token'] = tokenError;\n }\n\n const nameError = stringRequiredValidator(values.name);\n\n if (nameError) {\n patchErrors['name'] = nameError;\n }\n\n if (Object.keys(patchErrors).length === 0) {\n return null;\n }\n\n return patchErrors;\n};\n"],"mappings":";;;AAAA,SAAQA,uBAAuB;AAa/B,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,MAA+B,EAAEC,eAAyB,EAAK;EAC/F,IAAMC,WAAoC,GAAG,CAAC,CAAC;EAE/C,IAAMC,SAAS,GAAGL,uBAAuB,CAACE,MAAM,CAACI,IAAI,CAAC;EAEtD,IAAID,SAAS,EAAE;IACXD,WAAW,CAAC,MAAM,CAAC,GAAGC,SAAS;EACnC;EAEA,IAAME,UAAU,GAAGJ,eAAe,GAAGH,uBAAuB,CAACE,MAAM,CAACM,KAAK,CAAC,GAAG,IAAI;EAEjF,IAAID,UAAU,EAAE;IACZH,WAAW,CAAC,OAAO,CAAC,GAAGG,UAAU;EACrC;EAEA,IAAME,SAAS,GAAGT,uBAAuB,CAACE,MAAM,CAACQ,IAAI,CAAC;EAEtD,IAAID,SAAS,EAAE;IACXL,WAAW,CAAC,MAAM,CAAC,GAAGK,SAAS;EACnC;EAEA,IAAIE,MAAM,CAACC,IAAI,CAACR,WAAW,CAAC,CAACS,MAAM,KAAK,CAAC,EAAE;IACvC,OAAO,IAAI;EACf;EAEA,OAAOT,WAAW;AACtB,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export type Validator = (value: unknown) => string | null;
2
+ export declare const stringRequiredValidator: Validator;
@@ -0,0 +1,19 @@
1
+ import "core-js/modules/es.string.trim.js";
2
+ import i18n from "../i18n";
3
+ var DEFAULT_MAX_LENGTH = 256;
4
+ export var stringRequiredValidator = function stringRequiredValidator(value) {
5
+ var maxLength = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_MAX_LENGTH;
6
+ if (typeof value !== 'string') {
7
+ return i18n('alert_value-must-be-string');
8
+ }
9
+ if (!value.trim()) {
10
+ return i18n('alert_required-field');
11
+ }
12
+ if (value.length > maxLength) {
13
+ return i18n('alert_max-length', {
14
+ maxLength: maxLength
15
+ });
16
+ }
17
+ return null;
18
+ };
19
+ // #sourceMappingURL=stringRequiredValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["i18n","DEFAULT_MAX_LENGTH","stringRequiredValidator","value","maxLength","arguments","length","undefined","trim"],"sources":["stringRequiredValidator.ts"],"sourcesContent":["import i18n from '../i18n';\n\nconst DEFAULT_MAX_LENGTH = 256;\n\nexport type Validator = (value: unknown) => string | null;\n\nexport const stringRequiredValidator: Validator = (\n value: unknown,\n maxLength: number = DEFAULT_MAX_LENGTH,\n) => {\n if (typeof value !== 'string') {\n return i18n('alert_value-must-be-string');\n }\n\n if (!value.trim()) {\n return i18n('alert_required-field');\n }\n\n if (value.length > maxLength) {\n return i18n('alert_max-length', {maxLength});\n }\n\n return null;\n};\n"],"mappings":";AAAA,OAAOA,IAAI;AAEX,IAAMC,kBAAkB,GAAG,GAAG;AAI9B,OAAO,IAAMC,uBAAkC,GAAG,SAArCA,uBAAkCA,CAC3CC,KAAc,EAEb;EAAA,IADDC,SAAiB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGJ,kBAAkB;EAEtC,IAAI,OAAOE,KAAK,KAAK,QAAQ,EAAE;IAC3B,OAAOH,IAAI,CAAC,4BAA4B,CAAC;EAC7C;EAEA,IAAI,CAACG,KAAK,CAACK,IAAI,CAAC,CAAC,EAAE;IACf,OAAOR,IAAI,CAAC,sBAAsB,CAAC;EACvC;EAEA,IAAIG,KAAK,CAACG,MAAM,GAAGF,SAAS,EAAE;IAC1B,OAAOJ,IAAI,CAAC,kBAAkB,EAAE;MAACI,SAAS,EAATA;IAAS,CAAC,CAAC;EAChD;EAEA,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ export declare const useKeyDownFormControl: (onAccept: () => void, onCancel: () => void) => {
2
+ handleInputKeyDown: (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
3
+ handleEditorKeyDown: (event: React.KeyboardEvent<"div">) => void;
4
+ };
@@ -0,0 +1,21 @@
1
+ export var useKeyDownFormControl = function useKeyDownFormControl(onAccept, onCancel) {
2
+ var handleInputKeyDown = function handleInputKeyDown(event) {
3
+ if (event.key === 'Enter' && !event.shiftKey) {
4
+ event.preventDefault();
5
+ onAccept();
6
+ }
7
+ };
8
+ var handleEditorKeyDown = function handleEditorKeyDown(event) {
9
+ if (event.key !== 'Escape' || event.nativeEvent.isComposing) {
10
+ return;
11
+ }
12
+ event.preventDefault();
13
+ event.stopPropagation();
14
+ onCancel === null || onCancel === void 0 || onCancel();
15
+ };
16
+ return {
17
+ handleInputKeyDown: handleInputKeyDown,
18
+ handleEditorKeyDown: handleEditorKeyDown
19
+ };
20
+ };
21
+ // #sourceMappingURL=useKeyDownFormControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useKeyDownFormControl","onAccept","onCancel","handleInputKeyDown","event","key","shiftKey","preventDefault","handleEditorKeyDown","nativeEvent","isComposing","stopPropagation"],"sources":["useKeyDownFormControl.ts"],"sourcesContent":["export const useKeyDownFormControl = (onAccept: () => void, onCancel: () => void) => {\n const handleInputKeyDown = (\n event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>,\n ) => {\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n onAccept();\n }\n };\n\n const handleEditorKeyDown = (event: React.KeyboardEvent<'div'>) => {\n if (event.key !== 'Escape' || event.nativeEvent.isComposing) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n onCancel?.();\n };\n\n return {handleInputKeyDown, handleEditorKeyDown};\n};\n"],"mappings":"AAAA,OAAO,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,QAAoB,EAAEC,QAAoB,EAAK;EACjF,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CACpBC,KAAkE,EACjE;IACD,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,IAAI,CAACD,KAAK,CAACE,QAAQ,EAAE;MAC1CF,KAAK,CAACG,cAAc,CAAC,CAAC;MACtBN,QAAQ,CAAC,CAAC;IACd;EACJ,CAAC;EAED,IAAMO,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIJ,KAAiC,EAAK;IAC/D,IAAIA,KAAK,CAACC,GAAG,KAAK,QAAQ,IAAID,KAAK,CAACK,WAAW,CAACC,WAAW,EAAE;MACzD;IACJ;IAEAN,KAAK,CAACG,cAAc,CAAC,CAAC;IACtBH,KAAK,CAACO,eAAe,CAAC,CAAC;IACvBT,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAG,CAAC;EAChB,CAAC;EAED,OAAO;IAACC,kBAAkB,EAAlBA,kBAAkB;IAAEK,mBAAmB,EAAnBA;EAAmB,CAAC;AACpD,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ export declare const useLabelRef: (labelText: string) => {
2
+ labelRef: import("react").RefObject<HTMLLabelElement | null>;
3
+ labelWidth: number;
4
+ };
@@ -0,0 +1,28 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { useLayoutEffect, useRef, useState } from 'react';
3
+ export var useLabelRef = function useLabelRef(labelText) {
4
+ var labelRef = useRef(null);
5
+ var _useState = useState(0),
6
+ _useState2 = _slicedToArray(_useState, 2),
7
+ labelWidth = _useState2[0],
8
+ setLabelWidth = _useState2[1];
9
+ useLayoutEffect(function () {
10
+ var label = labelRef.current;
11
+ if (!label) return undefined;
12
+ var updateLabelWidth = function updateLabelWidth() {
13
+ return setLabelWidth(label.offsetWidth);
14
+ };
15
+ updateLabelWidth();
16
+ if (typeof ResizeObserver === 'undefined') return undefined;
17
+ var observer = new ResizeObserver(updateLabelWidth);
18
+ observer.observe(label);
19
+ return function () {
20
+ return observer.disconnect();
21
+ };
22
+ }, [labelText]);
23
+ return {
24
+ labelRef: labelRef,
25
+ labelWidth: labelWidth
26
+ };
27
+ };
28
+ // #sourceMappingURL=useLabelRef.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useLayoutEffect","useRef","useState","useLabelRef","labelText","labelRef","_useState","_useState2","_slicedToArray","labelWidth","setLabelWidth","label","current","undefined","updateLabelWidth","offsetWidth","ResizeObserver","observer","observe","disconnect"],"sources":["useLabelRef.ts"],"sourcesContent":["import {useLayoutEffect, useRef, useState} from 'react';\n\nexport const useLabelRef = (labelText: string) => {\n const labelRef = useRef<HTMLLabelElement>(null);\n const [labelWidth, setLabelWidth] = useState(0);\n\n useLayoutEffect(() => {\n const label = labelRef.current;\n\n if (!label) return undefined;\n\n const updateLabelWidth = () => setLabelWidth(label.offsetWidth);\n\n updateLabelWidth();\n\n if (typeof ResizeObserver === 'undefined') return undefined;\n\n const observer = new ResizeObserver(updateLabelWidth);\n observer.observe(label);\n\n return () => observer.disconnect();\n }, [labelText]);\n\n return {labelRef, labelWidth};\n};\n"],"mappings":";AAAA,SAAQA,eAAe,EAAEC,MAAM,EAAEC,QAAQ,QAAO,OAAO;AAEvD,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,SAAiB,EAAK;EAC9C,IAAMC,QAAQ,GAAGJ,MAAM,CAAmB,IAAI,CAAC;EAC/C,IAAAK,SAAA,GAAoCJ,QAAQ,CAAC,CAAC,CAAC;IAAAK,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAAxCG,UAAU,GAAAF,UAAA;IAAEG,aAAa,GAAAH,UAAA;EAEhCP,eAAe,CAAC,YAAM;IAClB,IAAMW,KAAK,GAAGN,QAAQ,CAACO,OAAO;IAE9B,IAAI,CAACD,KAAK,EAAE,OAAOE,SAAS;IAE5B,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA;MAAA,OAASJ,aAAa,CAACC,KAAK,CAACI,WAAW,CAAC;IAAA;IAE/DD,gBAAgB,CAAC,CAAC;IAElB,IAAI,OAAOE,cAAc,KAAK,WAAW,EAAE,OAAOH,SAAS;IAE3D,IAAMI,QAAQ,GAAG,IAAID,cAAc,CAACF,gBAAgB,CAAC;IACrDG,QAAQ,CAACC,OAAO,CAACP,KAAK,CAAC;IAEvB,OAAO;MAAA,OAAMM,QAAQ,CAACE,UAAU,CAAC,CAAC;IAAA;EACtC,CAAC,EAAE,CAACf,SAAS,CAAC,CAAC;EAEf,OAAO;IAACC,QAAQ,EAARA,QAAQ;IAAEI,UAAU,EAAVA;EAAU,CAAC;AACjC,CAAC","ignoreList":[]}