@gravity-ui/querieskit 1.3.0 → 1.3.2

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 (546) hide show
  1. package/build/cjs/components/AttachmentList/AttachmentList.d.ts +2 -2
  2. package/build/cjs/components/AttachmentList/AttachmentList.js +9 -1
  3. package/build/cjs/components/AttachmentList/AttachmentList.js.map +1 -1
  4. package/build/cjs/components/AttachmentList/AttachmentList.stories.d.ts +36 -20
  5. package/build/cjs/components/AttachmentList/AttachmentList.stories.js +3 -0
  6. package/build/cjs/components/AttachmentList/AttachmentList.stories.js.map +1 -1
  7. package/build/cjs/components/AttachmentList/helpers/isInteractiveTarget.d.ts +2 -0
  8. package/build/cjs/components/AttachmentList/helpers/isInteractiveTarget.js +11 -0
  9. package/build/cjs/components/AttachmentList/helpers/isInteractiveTarget.js.map +1 -0
  10. package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js +4 -4
  11. package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js.map +1 -1
  12. package/build/cjs/modules/Attachments/Attachments.css +4 -0
  13. package/build/cjs/modules/Attachments/Attachments.css.map +1 -1
  14. package/build/cjs/modules/Attachments/Attachments.d.ts +2 -1
  15. package/build/cjs/modules/Attachments/Attachments.js +8 -1
  16. package/build/cjs/modules/Attachments/Attachments.js.map +1 -1
  17. package/build/cjs/modules/Attachments/Attachments.stories.d.ts +2 -1
  18. package/build/cjs/modules/Attachments/Attachments.stories.js +7 -3
  19. package/build/cjs/modules/Attachments/Attachments.stories.js.map +1 -1
  20. package/build/cjs/modules/HistoryLayout/HistoryLayout.d.ts +1 -1
  21. package/build/cjs/modules/HistoryLayout/HistoryLayout.js +1 -1
  22. package/build/cjs/modules/HistoryLayout/HistoryLayout.js.map +1 -1
  23. package/build/cjs/modules/RowsList/RowsList.css +4 -0
  24. package/build/cjs/modules/RowsList/RowsList.css.map +1 -1
  25. package/build/cjs/types/queryList.d.ts +1 -1
  26. package/build/cjs/types/queryList.js.map +1 -1
  27. package/build/cjs/widgets/QueriesHistory/QueriesHistory.js +1 -2
  28. package/build/cjs/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
  29. package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.d.ts +1 -0
  30. package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.js +82 -1
  31. package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.js.map +1 -1
  32. package/build/cjs/widgets/SavedQueries/SavedQueries.stories.js.map +1 -1
  33. package/build/esm/components/AttachmentList/AttachmentList.d.ts +2 -2
  34. package/build/esm/components/AttachmentList/AttachmentList.js +9 -1
  35. package/build/esm/components/AttachmentList/AttachmentList.js.map +1 -1
  36. package/build/esm/components/AttachmentList/AttachmentList.stories.d.ts +36 -20
  37. package/build/esm/components/AttachmentList/AttachmentList.stories.js +3 -0
  38. package/build/esm/components/AttachmentList/AttachmentList.stories.js.map +1 -1
  39. package/build/esm/components/AttachmentList/helpers/isInteractiveTarget.d.ts +2 -0
  40. package/build/esm/components/AttachmentList/helpers/isInteractiveTarget.js +5 -0
  41. package/build/esm/components/AttachmentList/helpers/isInteractiveTarget.js.map +1 -0
  42. package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js +4 -4
  43. package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js.map +1 -1
  44. package/build/esm/modules/Attachments/Attachments.css +4 -0
  45. package/build/esm/modules/Attachments/Attachments.css.map +1 -1
  46. package/build/esm/modules/Attachments/Attachments.d.ts +2 -1
  47. package/build/esm/modules/Attachments/Attachments.js +8 -1
  48. package/build/esm/modules/Attachments/Attachments.js.map +1 -1
  49. package/build/esm/modules/Attachments/Attachments.scss +5 -0
  50. package/build/esm/modules/Attachments/Attachments.stories.d.ts +2 -1
  51. package/build/esm/modules/Attachments/Attachments.stories.js +7 -3
  52. package/build/esm/modules/Attachments/Attachments.stories.js.map +1 -1
  53. package/build/esm/modules/HistoryLayout/HistoryLayout.d.ts +1 -1
  54. package/build/esm/modules/HistoryLayout/HistoryLayout.js +1 -1
  55. package/build/esm/modules/HistoryLayout/HistoryLayout.js.map +1 -1
  56. package/build/esm/modules/RowsList/RowsList.css +4 -0
  57. package/build/esm/modules/RowsList/RowsList.css.map +1 -1
  58. package/build/esm/modules/RowsList/RowsList.scss +3 -0
  59. package/build/esm/types/queryList.d.ts +1 -1
  60. package/build/esm/types/queryList.js.map +1 -1
  61. package/build/esm/widgets/QueriesHistory/QueriesHistory.js +1 -2
  62. package/build/esm/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
  63. package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.d.ts +1 -0
  64. package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.js +81 -0
  65. package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.js.map +1 -1
  66. package/build/esm/widgets/SavedQueries/SavedQueries.stories.js.map +1 -1
  67. package/package.json +29 -2
  68. package/.agents/skills/code-review-checklist/SKILL.md +0 -94
  69. package/.agents/skills/github-pr-review/SKILL.md +0 -24
  70. package/.agents/skills/gravity-ui/SKILL.md +0 -175
  71. package/.agents/skills/gravity-ui/references/icons.md +0 -60
  72. package/.agents/skills/gravity-ui/references/layout.md +0 -366
  73. package/.agents/skills/gravity-ui/references/package-routing.md +0 -424
  74. package/.agents/skills/gravity-ui/references/theming.md +0 -309
  75. package/.agents/skills/gravity-ui/rules/hallucination-traps.md +0 -361
  76. package/.agents/skills/gravity-ui/scripts/icon-image-search.sh +0 -63
  77. package/.eslintignore +0 -3
  78. package/.github/workflows/ci.yml +0 -25
  79. package/.github/workflows/main-preview.yml +0 -31
  80. package/.github/workflows/pr-preview-build.yml +0 -13
  81. package/.github/workflows/pr-preview-deploy.yml +0 -22
  82. package/.github/workflows/pr-title.yml +0 -27
  83. package/.github/workflows/release.yml +0 -20
  84. package/.nvmrc +0 -1
  85. package/.prettierrc.js +0 -1
  86. package/.storybook/main.ts +0 -31
  87. package/.storybook/preview.tsx +0 -43
  88. package/.storybook/redefinition.css +0 -3
  89. package/.storybook/tsconfig.json +0 -9
  90. package/.stylelintrc +0 -9
  91. package/AGENTS.md +0 -129
  92. package/CHANGELOG.md +0 -103
  93. package/CODEOWNERS +0 -2
  94. package/CONTRIBUTING.md +0 -31
  95. package/NOTICES.md +0 -8
  96. package/app-builder.config.ts +0 -9
  97. package/commitlint.config.cjs +0 -6
  98. package/eslint.config.mjs +0 -53
  99. package/plans/i18n-rules.md +0 -116
  100. package/plans/navigation-architecture.md +0 -262
  101. package/plans/queries-history-structure.md +0 -143
  102. package/plans/queries-navigation-architecture-review.md +0 -217
  103. package/plans/styles-rules.md +0 -137
  104. package/skills-lock.json +0 -11
  105. package/src/components/AddChartButton/AddChartButton.scss +0 -12
  106. package/src/components/AddChartButton/AddChartButton.stories.tsx +0 -34
  107. package/src/components/AddChartButton/AddChartButton.tsx +0 -139
  108. package/src/components/AddChartButton/index.ts +0 -6
  109. package/src/components/AttachmentList/AttachmentList.scss +0 -25
  110. package/src/components/AttachmentList/AttachmentList.stories.tsx +0 -243
  111. package/src/components/AttachmentList/AttachmentList.tsx +0 -67
  112. package/src/components/AttachmentList/helpers/getIconByAttachmentName.ts +0 -36
  113. package/src/components/AttachmentList/helpers/objectLinkValidator.ts +0 -40
  114. package/src/components/AttachmentList/helpers/stringRequiredValidator.ts +0 -24
  115. package/src/components/AttachmentList/hooks/useKeyDownFormControl.ts +0 -22
  116. package/src/components/AttachmentList/hooks/useLabelRef.ts +0 -25
  117. package/src/components/AttachmentList/i18n/dicts.ts +0 -4
  118. package/src/components/AttachmentList/i18n/en.json +0 -10
  119. package/src/components/AttachmentList/i18n/index.ts +0 -5
  120. package/src/components/AttachmentList/i18n/ru.json +0 -10
  121. package/src/components/AttachmentList/index.ts +0 -4
  122. package/src/components/AttachmentList/internal/AttachmentItem/AttachmentItem.scss +0 -23
  123. package/src/components/AttachmentList/internal/AttachmentItem/AttachmentItem.tsx +0 -75
  124. package/src/components/AttachmentList/internal/AttachmentItem/index.ts +0 -2
  125. package/src/components/AttachmentList/internal/EditAttachmentItem/EditAttachmentItem.tsx +0 -21
  126. package/src/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.scss +0 -21
  127. package/src/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.tsx +0 -194
  128. package/src/components/AttachmentList/internal/EditAttachmentItem/FileEdit.tsx +0 -92
  129. package/src/components/AttachmentList/internal/EditAttachmentItem/index.ts +0 -4
  130. package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.scss +0 -5
  131. package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.stories.tsx +0 -30
  132. package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.tsx +0 -72
  133. package/src/components/AttachmentListPlaceholder/assets/empty-attachments.svg +0 -14
  134. package/src/components/AttachmentListPlaceholder/i18n/dicts.ts +0 -4
  135. package/src/components/AttachmentListPlaceholder/i18n/en.json +0 -7
  136. package/src/components/AttachmentListPlaceholder/i18n/index.ts +0 -5
  137. package/src/components/AttachmentListPlaceholder/i18n/ru.json +0 -7
  138. package/src/components/AttachmentListPlaceholder/index.ts +0 -2
  139. package/src/components/Breadcrumbs/Breadcrumbs.scss +0 -25
  140. package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -114
  141. package/src/components/Breadcrumbs/helpers/parsePathSegments.ts +0 -16
  142. package/src/components/Breadcrumbs/i18n/dicts.ts +0 -4
  143. package/src/components/Breadcrumbs/i18n/en.json +0 -4
  144. package/src/components/Breadcrumbs/i18n/index.ts +0 -5
  145. package/src/components/Breadcrumbs/i18n/ru.json +0 -4
  146. package/src/components/Breadcrumbs/index.ts +0 -2
  147. package/src/components/Chart/Chart.scss +0 -40
  148. package/src/components/Chart/Chart.stories.tsx +0 -75
  149. package/src/components/Chart/Chart.tsx +0 -120
  150. package/src/components/Chart/i18n/dicts.ts +0 -4
  151. package/src/components/Chart/i18n/en.json +0 -6
  152. package/src/components/Chart/i18n/index.ts +0 -5
  153. package/src/components/Chart/i18n/ru.json +0 -6
  154. package/src/components/Chart/index.ts +0 -2
  155. package/src/components/ChartEditorForm/ChartEditorForm.scss +0 -20
  156. package/src/components/ChartEditorForm/ChartEditorForm.stories.tsx +0 -88
  157. package/src/components/ChartEditorForm/ChartEditorForm.tsx +0 -120
  158. package/src/components/ChartEditorForm/helpers/resolveLabels.ts +0 -17
  159. package/src/components/ChartEditorForm/i18n/dicts.ts +0 -4
  160. package/src/components/ChartEditorForm/i18n/en.json +0 -12
  161. package/src/components/ChartEditorForm/i18n/index.ts +0 -5
  162. package/src/components/ChartEditorForm/i18n/ru.json +0 -12
  163. package/src/components/ChartEditorForm/index.ts +0 -7
  164. package/src/components/ChartEditorForm/internal/Field.tsx +0 -11
  165. package/src/components/ChartEditorForm/types.ts +0 -44
  166. package/src/components/ClusterRow/ClusterRow.tsx +0 -34
  167. package/src/components/ClusterRow/index.ts +0 -2
  168. package/src/components/Dashboard/Dashboard.scss +0 -4
  169. package/src/components/Dashboard/Dashboard.stories.scss +0 -18
  170. package/src/components/Dashboard/Dashboard.stories.tsx +0 -248
  171. package/src/components/Dashboard/Dashboard.tsx +0 -51
  172. package/src/components/Dashboard/helpers/createDefaultLayout.ts +0 -43
  173. package/src/components/Dashboard/hooks/useDashboardConfig.ts +0 -63
  174. package/src/components/Dashboard/index.ts +0 -2
  175. package/src/components/Dashboard/internal/DashPlate.scss +0 -23
  176. package/src/components/Dashboard/internal/DashPlate.tsx +0 -35
  177. package/src/components/Dashboard/internal/DashboardProvider.tsx +0 -37
  178. package/src/components/Dashboard/types.ts +0 -21
  179. package/src/components/DataTable/DataTable.scss +0 -27
  180. package/src/components/DataTable/DataTable.stories.tsx +0 -65
  181. package/src/components/DataTable/DataTable.tsx +0 -100
  182. package/src/components/DataTable/index.ts +0 -1
  183. package/src/components/EditableRowTitle/EditableRowTitle.tsx +0 -67
  184. package/src/components/EditableRowTitle/index.ts +0 -2
  185. package/src/components/EmptyContent/EmptyContent.scss +0 -3
  186. package/src/components/EmptyContent/EmptyContent.tsx +0 -57
  187. package/src/components/EmptyContent/i18n/dicts.ts +0 -4
  188. package/src/components/EmptyContent/i18n/en.json +0 -7
  189. package/src/components/EmptyContent/i18n/index.ts +0 -5
  190. package/src/components/EmptyContent/i18n/ru.json +0 -7
  191. package/src/components/EmptyContent/index.ts +0 -1
  192. package/src/components/ErrorTree/ErrorTree.stories.tsx +0 -94
  193. package/src/components/ErrorTree/ErrorTree.tsx +0 -30
  194. package/src/components/ErrorTree/helpers/formatAttributes.ts +0 -9
  195. package/src/components/ErrorTree/helpers/getIntermediateChain.ts +0 -21
  196. package/src/components/ErrorTree/i18n/dicts.ts +0 -4
  197. package/src/components/ErrorTree/i18n/en.json +0 -11
  198. package/src/components/ErrorTree/i18n/index.ts +0 -5
  199. package/src/components/ErrorTree/i18n/ru.json +0 -13
  200. package/src/components/ErrorTree/index.ts +0 -1
  201. package/src/components/ErrorTree/internal/ErrorTreeChildren.scss +0 -5
  202. package/src/components/ErrorTree/internal/ErrorTreeChildren.tsx +0 -25
  203. package/src/components/ErrorTree/internal/ErrorTreeNode.scss +0 -95
  204. package/src/components/ErrorTree/internal/ErrorTreeNode.tsx +0 -178
  205. package/src/components/ErrorTree/internal/IntermediateMessages.scss +0 -13
  206. package/src/components/ErrorTree/internal/IntermediateMessages.tsx +0 -127
  207. package/src/components/FieldsSearchToolbar/FieldsSearchToolbar.tsx +0 -48
  208. package/src/components/FieldsSearchToolbar/index.ts +0 -2
  209. package/src/components/FieldsSelector/FieldsSelector.scss +0 -18
  210. package/src/components/FieldsSelector/FieldsSelector.stories.tsx +0 -48
  211. package/src/components/FieldsSelector/FieldsSelector.tsx +0 -92
  212. package/src/components/FieldsSelector/i18n/dicts.ts +0 -4
  213. package/src/components/FieldsSelector/i18n/en.json +0 -3
  214. package/src/components/FieldsSelector/i18n/index.ts +0 -5
  215. package/src/components/FieldsSelector/i18n/ru.json +0 -3
  216. package/src/components/FieldsSelector/index.ts +0 -2
  217. package/src/components/HistoryFilter/HistoryFilter.scss +0 -5
  218. package/src/components/HistoryFilter/HistoryFilter.stories.tsx +0 -69
  219. package/src/components/HistoryFilter/HistoryFilter.tsx +0 -64
  220. package/src/components/HistoryFilter/i18n/dicts.ts +0 -4
  221. package/src/components/HistoryFilter/i18n/en.json +0 -4
  222. package/src/components/HistoryFilter/i18n/index.ts +0 -5
  223. package/src/components/HistoryFilter/i18n/ru.json +0 -4
  224. package/src/components/HistoryFilter/index.ts +0 -1
  225. package/src/components/HistoryGroupHeader/HistoryGroupHeader.scss +0 -7
  226. package/src/components/HistoryGroupHeader/HistoryGroupHeader.tsx +0 -18
  227. package/src/components/HistoryGroupHeader/index.ts +0 -1
  228. package/src/components/HistoryPrivateIcon/HistoryPrivateIcon.scss +0 -7
  229. package/src/components/HistoryPrivateIcon/HistoryPrivateIcon.tsx +0 -22
  230. package/src/components/HistoryPrivateIcon/index.ts +0 -1
  231. package/src/components/Icons/LogoCPlusPlus.tsx +0 -34
  232. package/src/components/Icons/index.ts +0 -1
  233. package/src/components/LazyList/LazyList.scss +0 -13
  234. package/src/components/LazyList/LazyList.tsx +0 -97
  235. package/src/components/LazyList/index.ts +0 -2
  236. package/src/components/ListSpinner/ListSpinner.scss +0 -3
  237. package/src/components/ListSpinner/ListSpinner.tsx +0 -18
  238. package/src/components/ListSpinner/index.ts +0 -2
  239. package/src/components/MonacoEditor/MonacoEditor.tsx +0 -112
  240. package/src/components/MonacoEditor/MonacoEditorThemes.tsx +0 -73
  241. package/src/components/MonacoEditor/index.ts +0 -11
  242. package/src/components/MonacoEditor/monaco-yql-languages/_.contribution.ts +0 -193
  243. package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.contribution.ts +0 -14
  244. package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.keywords.ts +0 -146
  245. package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.ts +0 -217
  246. package/src/components/MonacoEditor/monaco-yql-languages/constants.ts +0 -6
  247. package/src/components/MonacoEditor/monaco-yql-languages/fillers/monaco-editor-core.ts +0 -3
  248. package/src/components/MonacoEditor/monaco-yql-languages/index.ts +0 -1
  249. package/src/components/MonacoEditor/monaco-yql-languages/monaco.contribution.ts +0 -5
  250. package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.contribution.ts +0 -14
  251. package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.keywords.ts +0 -97
  252. package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.ts +0 -170
  253. package/src/components/MonacoEditor/monaco-yql-languages/themes/themes.contribution.ts +0 -35
  254. package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.contribution.ts +0 -14
  255. package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.keywords.ts +0 -13
  256. package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.ts +0 -178
  257. package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.contribution.ts +0 -14
  258. package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.keywords.ts +0 -45
  259. package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.ts +0 -142
  260. package/src/components/NavigationActionButtons/NavigationActionButtons.tsx +0 -46
  261. package/src/components/NavigationActionButtons/index.ts +0 -2
  262. package/src/components/NavigationItemRow/NavigationItemRow.tsx +0 -28
  263. package/src/components/NavigationItemRow/index.ts +0 -2
  264. package/src/components/PathEditor/PathEditor.scss +0 -41
  265. package/src/components/PathEditor/PathEditor.stories.helpers.ts +0 -118
  266. package/src/components/PathEditor/PathEditor.stories.tsx +0 -57
  267. package/src/components/PathEditor/PathEditor.tsx +0 -380
  268. package/src/components/PathEditor/helpers/suggestions.ts +0 -40
  269. package/src/components/PathEditor/i18n/dicts.ts +0 -4
  270. package/src/components/PathEditor/i18n/en.json +0 -4
  271. package/src/components/PathEditor/i18n/index.ts +0 -5
  272. package/src/components/PathEditor/i18n/ru.json +0 -4
  273. package/src/components/PathEditor/index.ts +0 -2
  274. package/src/components/QueryDuration/QueryDuration.scss +0 -6
  275. package/src/components/QueryDuration/QueryDuration.stories.tsx +0 -40
  276. package/src/components/QueryDuration/QueryDuration.tsx +0 -21
  277. package/src/components/QueryDuration/index.ts +0 -1
  278. package/src/components/QueryDuration/useQueryDuration.ts +0 -34
  279. package/src/components/QueryResultsTable/QueryResultsTable.scss +0 -65
  280. package/src/components/QueryResultsTable/QueryResultsTable.tsx +0 -112
  281. package/src/components/QueryResultsTable/helpers/formatQueryResultType.ts +0 -76
  282. package/src/components/QueryResultsTable/helpers/formatQueryResultValue.ts +0 -38
  283. package/src/components/QueryResultsTable/i18n/dicts.ts +0 -4
  284. package/src/components/QueryResultsTable/i18n/en.json +0 -5
  285. package/src/components/QueryResultsTable/i18n/index.ts +0 -4
  286. package/src/components/QueryResultsTable/i18n/ru.json +0 -5
  287. package/src/components/QueryResultsTable/index.ts +0 -3
  288. package/src/components/QueryResultsTable/internal/QueryResultCell.tsx +0 -63
  289. package/src/components/QueryStatusIcon/QueryStatusIcon.scss +0 -17
  290. package/src/components/QueryStatusIcon/QueryStatusIcon.stories.tsx +0 -50
  291. package/src/components/QueryStatusIcon/QueryStatusIcon.tsx +0 -37
  292. package/src/components/QueryStatusIcon/index.ts +0 -1
  293. package/src/components/RowActionsMenu/RowActionsMenu.tsx +0 -47
  294. package/src/components/RowActionsMenu/index.ts +0 -2
  295. package/src/components/RowLink/RowLink.scss +0 -8
  296. package/src/components/RowLink/RowLink.tsx +0 -23
  297. package/src/components/RowLink/index.ts +0 -2
  298. package/src/components/SearchRowLayout/SearchRowLayout.scss +0 -18
  299. package/src/components/SearchRowLayout/SearchRowLayout.tsx +0 -45
  300. package/src/components/SearchRowLayout/helpers/fitQueryToVisibleLines.ts +0 -10
  301. package/src/components/SearchRowLayout/helpers/monacoConfig.ts +0 -25
  302. package/src/components/SearchRowLayout/index.ts +0 -2
  303. package/src/components/SearchWithButtons/SearchWithButtons.scss +0 -10
  304. package/src/components/SearchWithButtons/SearchWithButtons.stories.tsx +0 -107
  305. package/src/components/SearchWithButtons/SearchWithButtons.tsx +0 -56
  306. package/src/components/SearchWithButtons/index.ts +0 -2
  307. package/src/components/SimpleForm/CheckboxGroupField.tsx +0 -53
  308. package/src/components/SimpleForm/RangeDatePickerField.tsx +0 -50
  309. package/src/components/SimpleForm/SelectField.tsx +0 -24
  310. package/src/components/SimpleForm/SimpleForm.stories.tsx +0 -115
  311. package/src/components/SimpleForm/SimpleForm.tsx +0 -65
  312. package/src/components/SimpleForm/SwitchField.tsx +0 -23
  313. package/src/components/SimpleForm/helpers/controlsRegistry.ts +0 -24
  314. package/src/components/SimpleForm/helpers/getInitialValues.ts +0 -10
  315. package/src/components/SimpleForm/helpers/index.ts +0 -2
  316. package/src/components/SimpleForm/index.ts +0 -7
  317. package/src/components/SkeletonRows/SkeletonRows.tsx +0 -24
  318. package/src/components/SkeletonRows/index.ts +0 -2
  319. package/src/components/index.ts +0 -71
  320. package/src/constants/query.ts +0 -10
  321. package/src/constants/row.ts +0 -2
  322. package/src/helpers/buildColumnsFromKeys.ts +0 -17
  323. package/src/helpers/createUuid.ts +0 -3
  324. package/src/helpers/getDefaultNavigationIcon.ts +0 -33
  325. package/src/helpers/getListKey.ts +0 -12
  326. package/src/helpers/getParentPath.ts +0 -10
  327. package/src/helpers/isEmptyValue.ts +0 -2
  328. package/src/helpers/isFieldVisible.ts +0 -20
  329. package/src/helpers/isObjectEqual.ts +0 -15
  330. package/src/helpers/time.ts +0 -29
  331. package/src/helpers/useDebouncedValue.ts +0 -14
  332. package/src/helpers/useLoadMoreSentinel.ts +0 -31
  333. package/src/helpers/useToggle.ts +0 -11
  334. package/src/helpers/useVisibleColumns.ts +0 -26
  335. package/src/i18n/index.ts +0 -26
  336. package/src/index.ts +0 -12
  337. package/src/modules/Attachments/Attachments.scss +0 -10
  338. package/src/modules/Attachments/Attachments.stories.tsx +0 -112
  339. package/src/modules/Attachments/Attachments.tsx +0 -336
  340. package/src/modules/Attachments/i18n/dicts.ts +0 -4
  341. package/src/modules/Attachments/i18n/en.json +0 -5
  342. package/src/modules/Attachments/i18n/index.ts +0 -5
  343. package/src/modules/Attachments/i18n/ru.json +0 -5
  344. package/src/modules/Attachments/index.ts +0 -2
  345. package/src/modules/ChartEditor/ChartEditor.scss +0 -12
  346. package/src/modules/ChartEditor/ChartEditor.tsx +0 -116
  347. package/src/modules/ChartEditor/i18n/dicts.ts +0 -4
  348. package/src/modules/ChartEditor/i18n/en.json +0 -3
  349. package/src/modules/ChartEditor/i18n/index.ts +0 -5
  350. package/src/modules/ChartEditor/i18n/ru.json +0 -3
  351. package/src/modules/ChartEditor/index.ts +0 -2
  352. package/src/modules/ChartEditor/story/ChartEditor.stories.tsx +0 -186
  353. package/src/modules/ChartEditor/story/mockData.ts +0 -222
  354. package/src/modules/ChartEditor/types.ts +0 -18
  355. package/src/modules/ClustersList/ClustersList.scss +0 -11
  356. package/src/modules/ClustersList/ClustersList.tsx +0 -49
  357. package/src/modules/ClustersList/index.ts +0 -2
  358. package/src/modules/HistoryComparisonActions/HistoryComparisonActions.scss +0 -4
  359. package/src/modules/HistoryComparisonActions/HistoryComparisonActions.tsx +0 -42
  360. package/src/modules/HistoryComparisonActions/index.ts +0 -2
  361. package/src/modules/HistoryHeader/HistoryHeader.stories.tsx +0 -47
  362. package/src/modules/HistoryHeader/HistoryHeader.tsx +0 -58
  363. package/src/modules/HistoryHeader/index.ts +0 -1
  364. package/src/modules/HistoryHeader/internal/FullSearchToggleButton.tsx +0 -16
  365. package/src/modules/HistoryLayout/HistoryLayout.scss +0 -7
  366. package/src/modules/HistoryLayout/HistoryLayout.tsx +0 -43
  367. package/src/modules/HistoryLayout/index.ts +0 -2
  368. package/src/modules/HistoryRow/HistoryRow.scss +0 -32
  369. package/src/modules/HistoryRow/HistoryRow.stories.tsx +0 -91
  370. package/src/modules/HistoryRow/HistoryRow.tsx +0 -77
  371. package/src/modules/HistoryRow/index.ts +0 -1
  372. package/src/modules/HistorySearchRow/HistorySearchRow.scss +0 -13
  373. package/src/modules/HistorySearchRow/HistorySearchRow.stories.tsx +0 -52
  374. package/src/modules/HistorySearchRow/HistorySearchRow.tsx +0 -62
  375. package/src/modules/HistorySearchRow/helpers/resolveMonacoLanguage.ts +0 -19
  376. package/src/modules/HistorySearchRow/index.ts +0 -1
  377. package/src/modules/NavigationDetail/NavigationDetail.scss +0 -13
  378. package/src/modules/NavigationDetail/NavigationDetail.tsx +0 -121
  379. package/src/modules/NavigationDetail/helpers/getInitialTab.ts +0 -9
  380. package/src/modules/NavigationDetail/helpers/getVisibleTabs.ts +0 -5
  381. package/src/modules/NavigationDetail/index.ts +0 -2
  382. package/src/modules/NavigationDetail/internal/NavigationDetailTabs.tsx +0 -32
  383. package/src/modules/NavigationHeader/NavigationHeader.stories.tsx +0 -118
  384. package/src/modules/NavigationHeader/NavigationHeader.tsx +0 -33
  385. package/src/modules/NavigationHeader/index.ts +0 -2
  386. package/src/modules/NavigationItemsList/NavigationItemsList.scss +0 -65
  387. package/src/modules/NavigationItemsList/NavigationItemsList.tsx +0 -92
  388. package/src/modules/NavigationItemsList/index.ts +0 -2
  389. package/src/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.tsx +0 -45
  390. package/src/modules/NavigationItemsList/internal/NavigationItemsListHeader.scss +0 -6
  391. package/src/modules/NavigationItemsList/internal/NavigationItemsListHeader.tsx +0 -54
  392. package/src/modules/NavigationItemsList/internal/useParentRow.ts +0 -23
  393. package/src/modules/NavigationMeta/NavigationMeta.scss +0 -25
  394. package/src/modules/NavigationMeta/NavigationMeta.tsx +0 -81
  395. package/src/modules/NavigationMeta/helpers/buildMetaGroups.tsx +0 -27
  396. package/src/modules/NavigationMeta/i18n/dicts.ts +0 -4
  397. package/src/modules/NavigationMeta/i18n/en.json +0 -4
  398. package/src/modules/NavigationMeta/i18n/index.ts +0 -5
  399. package/src/modules/NavigationMeta/i18n/ru.json +0 -4
  400. package/src/modules/NavigationMeta/index.ts +0 -3
  401. package/src/modules/NavigationMeta/story/NavigationMeta.stories.tsx +0 -80
  402. package/src/modules/NavigationMeta/story/mockData.ts +0 -22
  403. package/src/modules/NavigationPreview/NavigationPreview.scss +0 -32
  404. package/src/modules/NavigationPreview/NavigationPreview.tsx +0 -155
  405. package/src/modules/NavigationPreview/helpers/buildPreviewColumns.tsx +0 -11
  406. package/src/modules/NavigationPreview/helpers/filterPreviewRows.ts +0 -29
  407. package/src/modules/NavigationPreview/i18n/dicts.ts +0 -4
  408. package/src/modules/NavigationPreview/i18n/en.json +0 -3
  409. package/src/modules/NavigationPreview/i18n/index.ts +0 -5
  410. package/src/modules/NavigationPreview/i18n/ru.json +0 -3
  411. package/src/modules/NavigationPreview/index.ts +0 -4
  412. package/src/modules/NavigationPreview/story/NavigationPreview.stories.tsx +0 -123
  413. package/src/modules/NavigationPreview/story/mockData.ts +0 -14
  414. package/src/modules/NavigationSchema/NavigationSchema.scss +0 -24
  415. package/src/modules/NavigationSchema/NavigationSchema.tsx +0 -118
  416. package/src/modules/NavigationSchema/helpers/buildSchemaColumns.tsx +0 -54
  417. package/src/modules/NavigationSchema/helpers/filterSchema.ts +0 -18
  418. package/src/modules/NavigationSchema/i18n/dicts.ts +0 -4
  419. package/src/modules/NavigationSchema/i18n/en.json +0 -9
  420. package/src/modules/NavigationSchema/i18n/index.ts +0 -5
  421. package/src/modules/NavigationSchema/i18n/ru.json +0 -9
  422. package/src/modules/NavigationSchema/index.ts +0 -4
  423. package/src/modules/NavigationSchema/story/NavigationSchema.stories.tsx +0 -112
  424. package/src/modules/NavigationSchema/story/mockData.ts +0 -9
  425. package/src/modules/NavigationView/NavigationView.scss +0 -44
  426. package/src/modules/NavigationView/NavigationView.tsx +0 -60
  427. package/src/modules/NavigationView/helpers/buildViewColumns.tsx +0 -11
  428. package/src/modules/NavigationView/i18n/dicts.ts +0 -4
  429. package/src/modules/NavigationView/i18n/en.json +0 -3
  430. package/src/modules/NavigationView/i18n/index.ts +0 -5
  431. package/src/modules/NavigationView/i18n/ru.json +0 -3
  432. package/src/modules/NavigationView/index.ts +0 -3
  433. package/src/modules/NavigationView/internal/NavigationViewSectionItem.tsx +0 -70
  434. package/src/modules/NavigationView/story/NavigationView.stories.tsx +0 -110
  435. package/src/modules/NavigationView/story/mockData.ts +0 -35
  436. package/src/modules/QueriesList/QueriesList.scss +0 -10
  437. package/src/modules/QueriesList/QueriesList.tsx +0 -98
  438. package/src/modules/QueriesList/index.ts +0 -2
  439. package/src/modules/QueryStatistics/QueryStatistics.scss +0 -3
  440. package/src/modules/QueryStatistics/QueryStatistics.tsx +0 -125
  441. package/src/modules/QueryStatistics/helpers.ts +0 -96
  442. package/src/modules/QueryStatistics/i18n/dicts.ts +0 -4
  443. package/src/modules/QueryStatistics/i18n/en.json +0 -16
  444. package/src/modules/QueryStatistics/i18n/index.ts +0 -4
  445. package/src/modules/QueryStatistics/i18n/ru.json +0 -16
  446. package/src/modules/QueryStatistics/index.ts +0 -13
  447. package/src/modules/QueryStatistics/internal/MetricCell.scss +0 -12
  448. package/src/modules/QueryStatistics/internal/MetricCell.tsx +0 -99
  449. package/src/modules/QueryStatistics/internal/QueryStatisticsTable.scss +0 -8
  450. package/src/modules/QueryStatistics/internal/QueryStatisticsTable.tsx +0 -135
  451. package/src/modules/QueryStatistics/internal/QueryStatisticsToolbar.scss +0 -1
  452. package/src/modules/QueryStatistics/internal/QueryStatisticsToolbar.tsx +0 -61
  453. package/src/modules/QueryStatistics/story/QueryStatistics.stories.tsx +0 -71
  454. package/src/modules/RowsList/RowsList.scss +0 -5
  455. package/src/modules/RowsList/RowsList.tsx +0 -96
  456. package/src/modules/RowsList/helpers/prepareRowData.ts +0 -61
  457. package/src/modules/RowsList/index.ts +0 -2
  458. package/src/modules/SavedQueryRow/SavedQueryRow.scss +0 -20
  459. package/src/modules/SavedQueryRow/SavedQueryRow.tsx +0 -60
  460. package/src/modules/SavedQueryRow/index.ts +0 -2
  461. package/src/modules/SavedQuerySearchRow/SavedQuerySearchRow.scss +0 -15
  462. package/src/modules/SavedQuerySearchRow/SavedQuerySearchRow.tsx +0 -58
  463. package/src/modules/SavedQuerySearchRow/index.ts +0 -2
  464. package/src/modules/TutorialRow/TutorialRow.scss +0 -9
  465. package/src/modules/TutorialRow/TutorialRow.stories.tsx +0 -43
  466. package/src/modules/TutorialRow/TutorialRow.tsx +0 -25
  467. package/src/modules/TutorialRow/index.ts +0 -2
  468. package/src/modules/TutorialSearchRow/TutorialSearchRow.scss +0 -5
  469. package/src/modules/TutorialSearchRow/TutorialSearchRow.stories.tsx +0 -44
  470. package/src/modules/TutorialSearchRow/TutorialSearchRow.tsx +0 -33
  471. package/src/modules/TutorialSearchRow/index.ts +0 -2
  472. package/src/modules/index.ts +0 -50
  473. package/src/types/declarations.d.ts +0 -25
  474. package/src/types/errorTree.ts +0 -30
  475. package/src/types/forms.ts +0 -33
  476. package/src/types/history.ts +0 -12
  477. package/src/types/navigation.ts +0 -209
  478. package/src/types/pathEditor.ts +0 -29
  479. package/src/types/queryList.ts +0 -92
  480. package/src/types/queryResults.ts +0 -48
  481. package/src/types/queryStatistics.ts +0 -67
  482. package/src/types/savedQueries.ts +0 -7
  483. package/src/types/tutorial.ts +0 -3
  484. package/src/widgets/DashboardCharts/DashboardCharts.scss +0 -25
  485. package/src/widgets/DashboardCharts/DashboardCharts.tsx +0 -214
  486. package/src/widgets/DashboardCharts/helpers/chartTypeIcons.ts +0 -33
  487. package/src/widgets/DashboardCharts/i18n/dicts.ts +0 -4
  488. package/src/widgets/DashboardCharts/i18n/en.json +0 -7
  489. package/src/widgets/DashboardCharts/i18n/index.ts +0 -5
  490. package/src/widgets/DashboardCharts/i18n/ru.json +0 -7
  491. package/src/widgets/DashboardCharts/index.ts +0 -2
  492. package/src/widgets/DashboardCharts/internal/EmptyDashboardPlaceholder.tsx +0 -26
  493. package/src/widgets/DashboardCharts/story/DashboardCharts.stories.scss +0 -6
  494. package/src/widgets/DashboardCharts/story/DashboardCharts.stories.tsx +0 -77
  495. package/src/widgets/DashboardCharts/story/mockData.ts +0 -419
  496. package/src/widgets/DashboardCharts/types.ts +0 -30
  497. package/src/widgets/QueriesHistory/QueriesHistory.scss +0 -3
  498. package/src/widgets/QueriesHistory/QueriesHistory.stories.tsx +0 -276
  499. package/src/widgets/QueriesHistory/QueriesHistory.tsx +0 -71
  500. package/src/widgets/QueriesHistory/i18n/dicts.ts +0 -4
  501. package/src/widgets/QueriesHistory/i18n/en.json +0 -3
  502. package/src/widgets/QueriesHistory/i18n/index.ts +0 -5
  503. package/src/widgets/QueriesHistory/i18n/ru.json +0 -3
  504. package/src/widgets/QueriesHistory/index.ts +0 -2
  505. package/src/widgets/QueriesHistory/internal/HistoryRowContent.tsx +0 -22
  506. package/src/widgets/QueriesNavigation/QueriesNavigation.scss +0 -9
  507. package/src/widgets/QueriesNavigation/QueriesNavigation.stories.tsx +0 -409
  508. package/src/widgets/QueriesNavigation/QueriesNavigation.tsx +0 -195
  509. package/src/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.tsx +0 -8
  510. package/src/widgets/QueriesNavigation/helpers/createNavigationDetailResolver.ts +0 -28
  511. package/src/widgets/QueriesNavigation/helpers/createTableDetailConfig.tsx +0 -127
  512. package/src/widgets/QueriesNavigation/i18n/dicts.ts +0 -4
  513. package/src/widgets/QueriesNavigation/i18n/en.json +0 -10
  514. package/src/widgets/QueriesNavigation/i18n/index.ts +0 -5
  515. package/src/widgets/QueriesNavigation/i18n/ru.json +0 -10
  516. package/src/widgets/QueriesNavigation/index.ts +0 -13
  517. package/src/widgets/QueryResults/QueryResults.scss +0 -25
  518. package/src/widgets/QueryResults/QueryResults.stories.tsx +0 -155
  519. package/src/widgets/QueryResults/QueryResults.tsx +0 -121
  520. package/src/widgets/QueryResults/i18n/dicts.ts +0 -4
  521. package/src/widgets/QueryResults/i18n/en.json +0 -10
  522. package/src/widgets/QueryResults/i18n/index.ts +0 -4
  523. package/src/widgets/QueryResults/i18n/ru.json +0 -12
  524. package/src/widgets/QueryResults/index.ts +0 -2
  525. package/src/widgets/QueryResults/internal/QueryResultsSchema.tsx +0 -41
  526. package/src/widgets/SavedQueries/SavedQueries.scss +0 -3
  527. package/src/widgets/SavedQueries/SavedQueries.stories.tsx +0 -192
  528. package/src/widgets/SavedQueries/SavedQueries.tsx +0 -77
  529. package/src/widgets/SavedQueries/SavedQueryRowContent.tsx +0 -26
  530. package/src/widgets/SavedQueries/i18n/dicts.ts +0 -4
  531. package/src/widgets/SavedQueries/i18n/en.json +0 -3
  532. package/src/widgets/SavedQueries/i18n/index.ts +0 -4
  533. package/src/widgets/SavedQueries/i18n/ru.json +0 -3
  534. package/src/widgets/SavedQueries/index.ts +0 -2
  535. package/src/widgets/TutorialsHistory/TutorialRowContent.tsx +0 -16
  536. package/src/widgets/TutorialsHistory/TutorialsHistory.scss +0 -3
  537. package/src/widgets/TutorialsHistory/TutorialsHistory.stories.tsx +0 -135
  538. package/src/widgets/TutorialsHistory/TutorialsHistory.tsx +0 -63
  539. package/src/widgets/TutorialsHistory/i18n/dicts.ts +0 -4
  540. package/src/widgets/TutorialsHistory/i18n/en.json +0 -3
  541. package/src/widgets/TutorialsHistory/i18n/index.ts +0 -5
  542. package/src/widgets/TutorialsHistory/i18n/ru.json +0 -3
  543. package/src/widgets/TutorialsHistory/index.ts +0 -2
  544. package/src/widgets/index.ts +0 -20
  545. package/tsconfig.json +0 -20
  546. package/tsconfig.publish.json +0 -11
@@ -2,7 +2,7 @@ import React, { ReactNode } from 'react';
2
2
  import { ListProps } from '@gravity-ui/uikit';
3
3
  import { AttachmentItemProps } from './internal/AttachmentItem/AttachmentItem';
4
4
  import './AttachmentList.scss';
5
- export type AttachmentListProps = Omit<ListProps, 'items' | 'selectedItemIndex' | 'virtualized'> & {
5
+ export type AttachmentListProps<T extends AttachmentItemProps['attachment'] = AttachmentItemProps['attachment']> = Omit<ListProps<T>, 'items' | 'selectedItemIndex' | 'virtualized'> & {
6
6
  attachments: AttachmentItemProps['attachment'][];
7
7
  className?: string;
8
8
  onDelete?: (attachment: AttachmentItemProps['attachment']) => void;
@@ -14,4 +14,4 @@ export type AttachmentListProps = Omit<ListProps, 'items' | 'selectedItemIndex'
14
14
  editingIds?: string[];
15
15
  isDeleted?: boolean;
16
16
  };
17
- export declare const AttachmentList: ({ attachments, onEdit, onDelete, onRevert, wasAddedIds, wasEditedIds, editingIds, renderEditForm, className, isDeleted, ...listProps }: AttachmentListProps) => React.JSX.Element;
17
+ export declare const AttachmentList: ({ attachments, onEdit, onDelete, onRevert, wasAddedIds, wasEditedIds, editingIds, renderEditForm, className, isDeleted, onItemClick, ...listProps }: AttachmentListProps) => React.JSX.Element;
@@ -21,11 +21,12 @@ require("core-js/modules/web.dom-collections.iterator.js");
21
21
  var _react = _interopRequireWildcard(require("react"));
22
22
  var _uikit = require("@gravity-ui/uikit");
23
23
  var _AttachmentItem = require("./internal/AttachmentItem/AttachmentItem");
24
+ var _isInteractiveTarget = require("./helpers/isInteractiveTarget");
24
25
  require("./AttachmentList.css");
25
26
  var _jsxRuntime = require("react/jsx-runtime");
26
27
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
27
28
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
28
- var _excluded = ["attachments", "onEdit", "onDelete", "onRevert", "wasAddedIds", "wasEditedIds", "editingIds", "renderEditForm", "className", "isDeleted"];
29
+ var _excluded = ["attachments", "onEdit", "onDelete", "onRevert", "wasAddedIds", "wasEditedIds", "editingIds", "renderEditForm", "className", "isDeleted", "onItemClick"];
29
30
  var AttachmentList = exports.AttachmentList = function AttachmentList(_ref) {
30
31
  var attachments = _ref.attachments,
31
32
  onEdit = _ref.onEdit,
@@ -37,6 +38,7 @@ var AttachmentList = exports.AttachmentList = function AttachmentList(_ref) {
37
38
  renderEditForm = _ref.renderEditForm,
38
39
  className = _ref.className,
39
40
  isDeleted = _ref.isDeleted,
41
+ onItemClick = _ref.onItemClick,
40
42
  listProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
41
43
  var addedIdsSet = (0, _react.useMemo)(function () {
42
44
  return new Set(wasAddedIds);
@@ -47,6 +49,11 @@ var AttachmentList = exports.AttachmentList = function AttachmentList(_ref) {
47
49
  var editingIdsSet = (0, _react.useMemo)(function () {
48
50
  return new Set(editingIds);
49
51
  }, [editingIds]);
52
+ var handleItemClick = function handleItemClick(item, index, fromKeyboard, event) {
53
+ if (editingIdsSet.has(item.id)) return;
54
+ if ((0, _isInteractiveTarget.isInteractiveTarget)(event === null || event === void 0 ? void 0 : event.target)) return;
55
+ onItemClick === null || onItemClick === void 0 || onItemClick(item, index, fromKeyboard, event);
56
+ };
50
57
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Flex, {
51
58
  className: className,
52
59
  width: "100%",
@@ -55,6 +62,7 @@ var AttachmentList = exports.AttachmentList = function AttachmentList(_ref) {
55
62
  filterable: false,
56
63
  virtualized: false,
57
64
  items: attachments,
65
+ onItemClick: handleItemClick,
58
66
  renderItem: function renderItem(attachment) {
59
67
  if (editingIdsSet.has(attachment.id)) {
60
68
  return renderEditForm === null || renderEditForm === void 0 ? void 0 : renderEditForm(attachment);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_uikit","_AttachmentItem","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_interopRequireDefault","AttachmentList","exports","_ref","attachments","onEdit","onDelete","onRevert","wasAddedIds","wasEditedIds","editingIds","renderEditForm","className","isDeleted","listProps","_objectWithoutProperties","_excluded","addedIdsSet","useMemo","Set","editedIdsSet","editingIdsSet","_jsx","Flex","width","height","children","List","_objectSpread","filterable","virtualized","items","renderItem","attachment","id","AttachmentItem","wasAdded","wasEdited"],"sources":["AttachmentList.tsx"],"sourcesContent":["import React, {ReactNode, useMemo} from 'react';\nimport {Flex, List, ListProps} from '@gravity-ui/uikit';\nimport {AttachmentItem, AttachmentItemProps} from './internal/AttachmentItem/AttachmentItem';\nimport './AttachmentList.scss';\n\nexport type AttachmentListProps = Omit<ListProps, 'items' | 'selectedItemIndex' | 'virtualized'> & {\n attachments: AttachmentItemProps['attachment'][];\n className?: string;\n onDelete?: (attachment: AttachmentItemProps['attachment']) => void;\n onEdit?: (attachment: AttachmentItemProps['attachment']) => void;\n onRevert?: (attachment: AttachmentItemProps['attachment']) => void;\n\n renderEditForm?: (attachment: AttachmentItemProps['attachment']) => ReactNode;\n\n wasAddedIds?: string[];\n wasEditedIds?: string[];\n\n editingIds?: string[];\n\n isDeleted?: boolean;\n};\n\nexport const AttachmentList = ({\n attachments,\n onEdit,\n onDelete,\n onRevert,\n wasAddedIds,\n wasEditedIds,\n editingIds,\n renderEditForm,\n className,\n isDeleted,\n ...listProps\n}: AttachmentListProps) => {\n const addedIdsSet = useMemo(() => new Set(wasAddedIds), [wasAddedIds]);\n const editedIdsSet = useMemo(() => new Set(wasEditedIds), [wasEditedIds]);\n const editingIdsSet = useMemo(() => new Set(editingIds), [editingIds]);\n\n return (\n <Flex className={className} width=\"100%\" height=\"100%\">\n <List<AttachmentListProps['attachments'][number]>\n filterable={false}\n virtualized={false}\n items={attachments}\n renderItem={(attachment) => {\n if (editingIdsSet.has(attachment.id)) {\n return renderEditForm?.(attachment);\n }\n\n return (\n <AttachmentItem\n attachment={attachment}\n wasAdded={addedIdsSet.has(attachment.id)}\n wasEdited={editedIdsSet.has(attachment.id)}\n onEdit={onEdit}\n onRevert={onRevert}\n onDelete={onDelete}\n isDeleted={isDeleted}\n />\n );\n }}\n {...listProps}\n />\n </Flex>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_uikit","_AttachmentItem","_isInteractiveTarget","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_interopRequireDefault","AttachmentList","exports","_ref","attachments","onEdit","onDelete","onRevert","wasAddedIds","wasEditedIds","editingIds","renderEditForm","className","isDeleted","onItemClick","listProps","_objectWithoutProperties","_excluded","addedIdsSet","useMemo","Set","editedIdsSet","editingIdsSet","handleItemClick","item","index","fromKeyboard","event","id","isInteractiveTarget","target","_jsx","Flex","width","height","children","List","_objectSpread","filterable","virtualized","items","renderItem","attachment","AttachmentItem","wasAdded","wasEdited"],"sources":["AttachmentList.tsx"],"sourcesContent":["import React, {ReactNode, useMemo} from 'react';\nimport {Flex, List, ListProps} from '@gravity-ui/uikit';\nimport {AttachmentItem, AttachmentItemProps} from './internal/AttachmentItem/AttachmentItem';\nimport {isInteractiveTarget} from './helpers/isInteractiveTarget';\nimport './AttachmentList.scss';\n\nexport type AttachmentListProps<\n T extends AttachmentItemProps['attachment'] = AttachmentItemProps['attachment'],\n> = Omit<ListProps<T>, 'items' | 'selectedItemIndex' | 'virtualized'> & {\n attachments: AttachmentItemProps['attachment'][];\n className?: string;\n onDelete?: (attachment: AttachmentItemProps['attachment']) => void;\n onEdit?: (attachment: AttachmentItemProps['attachment']) => void;\n onRevert?: (attachment: AttachmentItemProps['attachment']) => void;\n\n renderEditForm?: (attachment: AttachmentItemProps['attachment']) => ReactNode;\n\n wasAddedIds?: string[];\n wasEditedIds?: string[];\n\n editingIds?: string[];\n\n isDeleted?: boolean;\n};\n\nexport const AttachmentList = ({\n attachments,\n onEdit,\n onDelete,\n onRevert,\n wasAddedIds,\n wasEditedIds,\n editingIds,\n renderEditForm,\n className,\n isDeleted,\n onItemClick,\n ...listProps\n}: AttachmentListProps) => {\n const addedIdsSet = useMemo(() => new Set(wasAddedIds), [wasAddedIds]);\n const editedIdsSet = useMemo(() => new Set(wasEditedIds), [wasEditedIds]);\n const editingIdsSet = useMemo(() => new Set(editingIds), [editingIds]);\n\n const handleItemClick: AttachmentListProps['onItemClick'] = (\n item,\n index,\n fromKeyboard,\n event,\n ) => {\n if (editingIdsSet.has(item.id)) return;\n if (isInteractiveTarget(event?.target)) return;\n onItemClick?.(item, index, fromKeyboard, event);\n };\n\n return (\n <Flex className={className} width=\"100%\" height=\"100%\">\n <List<AttachmentListProps['attachments'][number]>\n filterable={false}\n virtualized={false}\n items={attachments}\n onItemClick={handleItemClick}\n renderItem={(attachment) => {\n if (editingIdsSet.has(attachment.id)) {\n return renderEditForm?.(attachment);\n }\n\n return (\n <AttachmentItem\n attachment={attachment}\n wasAdded={addedIdsSet.has(attachment.id)}\n wasEdited={editedIdsSet.has(attachment.id)}\n onEdit={onEdit}\n onRevert={onRevert}\n onDelete={onDelete}\n isDeleted={isDeleted}\n />\n );\n }}\n {...listProps}\n />\n </Flex>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@ import type { StoryObj } from '@storybook/react';
3
3
  import { type AttachmentListProps } from './AttachmentList';
4
4
  declare const meta: {
5
5
  title: string;
6
- component: ({ attachments, onEdit, onDelete, onRevert, wasAddedIds, wasEditedIds, editingIds, renderEditForm, className, isDeleted, ...listProps }: AttachmentListProps) => React.JSX.Element;
6
+ component: ({ attachments, onEdit, onDelete, onRevert, wasAddedIds, wasEditedIds, editingIds, renderEditForm, className, isDeleted, onItemClick, ...listProps }: AttachmentListProps) => React.JSX.Element;
7
7
  tags: string[];
8
8
  parameters: {
9
9
  layout: string;
@@ -18,16 +18,22 @@ declare const meta: {
18
18
  loading?: boolean | undefined;
19
19
  size?: import("@gravity-ui/uikit").TextInputSize | undefined;
20
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;
21
+ itemHeight?: number | ((item: import("@gravity-ui/uikit").ListItemData<{
22
+ id: string;
23
+ name: string;
24
+ link?: string;
25
+ }>, itemIndex: number) => number) | undefined;
26
+ renderItem?: ((item: import("@gravity-ui/uikit").ListItemData<{
27
+ id: string;
28
+ name: string;
29
+ link?: string;
30
+ }>, isItemActive: boolean, itemIndex: number) => React.ReactNode) | undefined;
27
31
  onLoadMore?: (() => void) | undefined;
28
- onItemClick?: ((item: {
29
- disabled?: boolean;
30
- }, index: number, fromKeyboard?: boolean, event?: React.MouseEvent<HTMLDivElement, MouseEvent> | React.KeyboardEvent<HTMLElement>) => void) | undefined;
32
+ onItemClick?: ((item: import("@gravity-ui/uikit").ListItemData<{
33
+ id: string;
34
+ name: string;
35
+ link?: string;
36
+ }>, index: number, fromKeyboard?: boolean, event?: React.MouseEvent<HTMLDivElement, MouseEvent> | React.KeyboardEvent<HTMLElement>) => void) | undefined;
31
37
  filterable?: boolean | undefined;
32
38
  itemClassName?: string | undefined;
33
39
  itemsClassName?: string | undefined;
@@ -35,20 +41,30 @@ declare const meta: {
35
41
  emptyPlaceholder?: React.ReactNode;
36
42
  filterPlaceholder?: string | undefined;
37
43
  activeItemIndex?: number | undefined;
38
- itemKey?: ((item: {
39
- disabled?: boolean;
40
- }) => string) | undefined;
41
- itemsHeight?: number | ((items: unknown[]) => number) | undefined;
44
+ itemKey?: ((item: import("@gravity-ui/uikit").ListItemData<{
45
+ id: string;
46
+ name: string;
47
+ link?: string;
48
+ }>) => string) | undefined;
49
+ itemsHeight?: number | ((items: {
50
+ id: string;
51
+ name: string;
52
+ link?: string;
53
+ }[]) => number) | undefined;
42
54
  deactivateOnLeave?: boolean | undefined;
43
55
  sortHandleAlign?: import("@gravity-ui/uikit").ListSortHandleAlign | undefined;
44
- filterItem?: ((filter: string) => (item: {
45
- disabled?: boolean;
46
- }) => boolean) | undefined;
56
+ filterItem?: ((filter: string) => (item: import("@gravity-ui/uikit").ListItemData<{
57
+ id: string;
58
+ name: string;
59
+ link?: string;
60
+ }>) => boolean) | undefined;
47
61
  onFilterUpdate?: ((filter: string) => void) | undefined;
48
62
  onFilterEnd?: (({ items }: {
49
- items: {
50
- disabled?: boolean;
51
- }[];
63
+ items: import("@gravity-ui/uikit").ListItemData<{
64
+ id: string;
65
+ name: string;
66
+ link?: string;
67
+ }>[];
52
68
  }) => void) | undefined;
53
69
  onSortEnd?: ((params: import("@gravity-ui/uikit").ListSortParams) => void) | undefined;
54
70
  onChangeActive?: ((index?: number) => void) | undefined;
@@ -135,6 +135,7 @@ var InteractiveAttachmentList = function InteractiveAttachmentList(props) {
135
135
  });
136
136
  });
137
137
  },
138
+ onItemClick: console.info,
138
139
  onEdit: function onEdit(attachment) {
139
140
  var _props$onEdit;
140
141
  (_props$onEdit = props.onEdit) === null || _props$onEdit === void 0 || _props$onEdit.call(props, attachment);
@@ -216,6 +217,7 @@ var EditableAttachmentList = function EditableAttachmentList(props) {
216
217
  }));
217
218
  }
218
219
  },
220
+ onItemClick: console.info,
219
221
  renderEditForm: function renderEditForm(attachment) {
220
222
  var isLink = typeof attachment.link === 'string';
221
223
  if (isLink) {
@@ -268,6 +270,7 @@ var SortableAttachmentList = function SortableAttachmentList(props) {
268
270
  setOrderedAttachments = _useState12[1];
269
271
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_AttachmentList.AttachmentList, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
270
272
  attachments: orderedAttachments,
273
+ onItemClick: console.info,
271
274
  onSortEnd: function onSortEnd(_ref) {
272
275
  var _props$onSortEnd;
273
276
  var oldIndex = _ref.oldIndex,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_uikit","_EditAttachmentItem","_test","_AttachmentList","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_interopRequireDefault","attachments","id","name","link","meta","title","component","AttachmentList","tags","parameters","layout","decorators","Story","_jsx","style","width","height","children","args","onDelete","fn","onEdit","_default","exports","Default","ChangeStates","wasAddedIds","wasEditedIds","Filterable","filterable","filterPlaceholder","filterItem","filter","attachment","toLocaleLowerCase","includes","InteractiveAttachmentList","props","_useState","useState","_useState2","_slicedToArray","currentAttachments","setCurrentAttachments","_useState3","_useState4","editedIds","setEditedIds","_objectSpread","_props$onDelete","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","EditAttachmentItem","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","Text","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":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_uikit","_EditAttachmentItem","_test","_AttachmentList","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_interopRequireDefault","attachments","id","name","link","meta","title","component","AttachmentList","tags","parameters","layout","decorators","Story","_jsx","style","width","height","children","args","onDelete","fn","onEdit","_default","exports","Default","ChangeStates","wasAddedIds","wasEditedIds","Filterable","filterable","filterPlaceholder","filterItem","filter","attachment","toLocaleLowerCase","includes","InteractiveAttachmentList","props","_useState","useState","_useState2","_slicedToArray","currentAttachments","setCurrentAttachments","_useState3","_useState4","editedIds","setEditedIds","_objectSpread","_props$onDelete","current","item","onItemClick","console","info","_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","EditAttachmentItem","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","Text","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 onItemClick={console.info}\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 onItemClick={console.info}\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 onItemClick={console.info}\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 INTERACITVE_SELECTOR = "a, button, input, select, textarea, label, [role=\"button\"], [role=\"link\"], [role=\"menuitem\"], [contenteditable=\"true\"], [tabindex]:not([tabindex=\"-1\"])";
2
+ export declare const isInteractiveTarget: (target: EventTarget | null | undefined) => boolean;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isInteractiveTarget = exports.INTERACITVE_SELECTOR = void 0;
7
+ var INTERACITVE_SELECTOR = exports.INTERACITVE_SELECTOR = 'a, button, input, select, textarea, label, [role="button"], [role="link"], [role="menuitem"], [contenteditable="true"], [tabindex]:not([tabindex="-1"])';
8
+ var isInteractiveTarget = exports.isInteractiveTarget = function isInteractiveTarget(target) {
9
+ return target instanceof Element && Boolean(target.closest(INTERACITVE_SELECTOR));
10
+ };
11
+ // #sourceMappingURL=isInteractiveTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["INTERACITVE_SELECTOR","exports","isInteractiveTarget","target","Element","Boolean","closest"],"sources":["isInteractiveTarget.ts"],"sourcesContent":["export const INTERACITVE_SELECTOR =\n 'a, button, input, select, textarea, label, [role=\"button\"], [role=\"link\"], [role=\"menuitem\"], [contenteditable=\"true\"], [tabindex]:not([tabindex=\"-1\"])';\n\nexport const isInteractiveTarget = (target: EventTarget | null | undefined) => {\n return target instanceof Element && Boolean(target.closest(INTERACITVE_SELECTOR));\n};\n"],"mappings":";;;;;;AAAO,IAAMA,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAC7B,yJAAyJ;AAEtJ,IAAME,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,GAAG,SAAtBA,mBAAmBA,CAAIC,MAAsC,EAAK;EAC3E,OAAOA,MAAM,YAAYC,OAAO,IAAIC,OAAO,CAACF,MAAM,CAACG,OAAO,CAACN,oBAAoB,CAAC,CAAC;AACrF,CAAC","ignoreList":[]}
@@ -8,9 +8,9 @@ require("core-js/modules/es.symbol.js");
8
8
  require("core-js/modules/es.symbol.description.js");
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _uikit = require("@gravity-ui/uikit");
11
+ var _illustrations = require("@gravity-ui/illustrations");
11
12
  var _icons = require("@gravity-ui/icons");
12
13
  var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
13
- var _emptyAttachments = _interopRequireDefault(require("./assets/empty-attachments.svg"));
14
14
  var _i18n = _interopRequireDefault(require("./i18n"));
15
15
  require("./AttachmentListPlaceholder.css");
16
16
  var _jsxRuntime = require("react/jsx-runtime");
@@ -37,9 +37,9 @@ var AttachmentListPlaceholder = exports.AttachmentListPlaceholder = function Att
37
37
  height: "100%",
38
38
  className: block(null, className),
39
39
  "data-qa": qa,
40
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
41
- src: "".concat(_emptyAttachments.default),
42
- alt: "empty-attachments-image"
40
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_illustrations.Folder, {
41
+ height: 100,
42
+ width: 100
43
43
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_uikit.Flex, {
44
44
  gap: 1,
45
45
  direction: "column",
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_uikit","_icons","_bemCnLite","_emptyAttachments","_i18n","_jsxRuntime","e","__esModule","default","block","cn","AttachmentListPlaceholder","exports","_ref","customerTitle","title","customerDescription","description","linkForDoc","customerLinkText","linkText","className","onAddFile","onAddLink","qa","i18n","_jsxs","Flex","direction","alignItems","justifyContent","gap","width","height","children","_jsx","src","concat","image","alt","Text","variant","Link","href","Button","onClick","Icon","data","Plus","view"],"sources":["AttachmentListPlaceholder.tsx"],"sourcesContent":["import React, {ReactNode} from 'react';\nimport {Button, Flex, Icon, Link, Text} from '@gravity-ui/uikit';\nimport {Plus} from '@gravity-ui/icons';\nimport cn from 'bem-cn-lite';\nimport image from './assets/empty-attachments.svg';\nimport i18n from './i18n';\nimport './AttachmentListPlaceholder.scss';\n\nexport type AttachmentListPlaceholderProps = {\n title?: ReactNode;\n description?: ReactNode;\n linkForDoc?: string;\n linkText?: string;\n className?: string;\n onAddFile?: () => void;\n onAddLink?: () => void;\n qa?: string;\n};\n\nconst block = cn('qp-attachment-list-placeholder');\n\nexport const AttachmentListPlaceholder = ({\n title: customerTitle,\n description: customerDescription,\n linkForDoc,\n linkText: customerLinkText,\n className,\n onAddFile,\n onAddLink,\n qa,\n}: AttachmentListPlaceholderProps) => {\n const title = customerTitle ?? i18n('title_no-attachments');\n const description = customerDescription ?? i18n('context_add-attachment-for-request');\n const linkText = customerLinkText ?? i18n('action_attachments-help');\n\n return (\n <Flex\n direction=\"column\"\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={5}\n width=\"100%\"\n height=\"100%\"\n className={block(null, className)}\n data-qa={qa}\n >\n <img src={`${image}`} alt=\"empty-attachments-image\" />\n\n <Flex gap={1} direction=\"column\" alignItems=\"center\">\n <Text variant=\"subheader-1\">{title}</Text>\n <Text variant=\"body-1\">{description}</Text>\n {linkForDoc && (\n <Link className={block('doc-link')} href={linkForDoc}>\n {linkText}\n </Link>\n )}\n </Flex>\n\n <Flex gap={2}>\n <Button onClick={onAddFile}>\n <Icon data={Plus} />\n {i18n('action_add-file')}\n </Button>\n\n <Button onClick={onAddLink} view=\"outlined\">\n <Icon data={Plus} />\n {i18n('action_add-link')}\n </Button>\n </Flex>\n </Flex>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_uikit","_illustrations","_icons","_bemCnLite","_i18n","_jsxRuntime","e","__esModule","default","block","cn","AttachmentListPlaceholder","exports","_ref","customerTitle","title","customerDescription","description","linkForDoc","customerLinkText","linkText","className","onAddFile","onAddLink","qa","i18n","_jsxs","Flex","direction","alignItems","justifyContent","gap","width","height","children","_jsx","Folder","Text","variant","Link","href","Button","onClick","Icon","data","Plus","view"],"sources":["AttachmentListPlaceholder.tsx"],"sourcesContent":["import React, {ReactNode} from 'react';\nimport {Button, Flex, Icon, Link, Text} from '@gravity-ui/uikit';\nimport {Folder} from '@gravity-ui/illustrations';\nimport {Plus} from '@gravity-ui/icons';\nimport cn from 'bem-cn-lite';\nimport i18n from './i18n';\nimport './AttachmentListPlaceholder.scss';\n\nexport type AttachmentListPlaceholderProps = {\n title?: ReactNode;\n description?: ReactNode;\n linkForDoc?: string;\n linkText?: string;\n className?: string;\n onAddFile?: () => void;\n onAddLink?: () => void;\n qa?: string;\n};\n\nconst block = cn('qp-attachment-list-placeholder');\n\nexport const AttachmentListPlaceholder = ({\n title: customerTitle,\n description: customerDescription,\n linkForDoc,\n linkText: customerLinkText,\n className,\n onAddFile,\n onAddLink,\n qa,\n}: AttachmentListPlaceholderProps) => {\n const title = customerTitle ?? i18n('title_no-attachments');\n const description = customerDescription ?? i18n('context_add-attachment-for-request');\n const linkText = customerLinkText ?? i18n('action_attachments-help');\n\n return (\n <Flex\n direction=\"column\"\n alignItems=\"center\"\n justifyContent=\"center\"\n gap={5}\n width=\"100%\"\n height=\"100%\"\n className={block(null, className)}\n data-qa={qa}\n >\n <Folder height={100} width={100} />\n\n <Flex gap={1} direction=\"column\" alignItems=\"center\">\n <Text variant=\"subheader-1\">{title}</Text>\n <Text variant=\"body-1\">{description}</Text>\n {linkForDoc && (\n <Link className={block('doc-link')} href={linkForDoc}>\n {linkText}\n </Link>\n )}\n </Flex>\n\n <Flex gap={2}>\n <Button onClick={onAddFile}>\n <Icon data={Plus} />\n {i18n('action_add-file')}\n </Button>\n\n <Button onClick={onAddLink} view=\"outlined\">\n <Icon data={Plus} />\n {i18n('action_add-link')}\n </Button>\n </Flex>\n </Flex>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -5,4 +5,8 @@
5
5
  display: flex;
6
6
  gap: var(--g-spacing-2);
7
7
  }
8
+ .qp-attachments__tab-list {
9
+ padding-left: var(--g-spacing-4);
10
+ padding-right: var(--g-spacing-4);
11
+ }
8
12
  /*# sourceMappingURL=Attachments.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["Attachments.scss"],"names":[],"mappings":"AACI;EACI,OAAA;AAAR;AAGI;EACI,aAAA;EACA,uBAAA;AADR","file":"Attachments.css","sourcesContent":[".qp-attachments {\n &__panel {\n flex: 1;\n }\n\n &__tab .g-tab__title {\n display: flex;\n gap: var(--g-spacing-2)\n }\n}"],"sourceRoot":""}
1
+ {"version":3,"sources":["Attachments.scss"],"names":[],"mappings":"AACI;EACI,OAAA;AAAR;AAGI;EACI,aAAA;EACA,uBAAA;AADR;AAII;EACI,gCAAA;EACA,iCAAA;AAFR","file":"Attachments.css","sourcesContent":[".qp-attachments {\n &__panel {\n flex: 1;\n }\n\n &__tab .g-tab__title {\n display: flex;\n gap: var(--g-spacing-2)\n }\n\n &__tab-list {\n padding-left: var(--g-spacing-4);\n padding-right: var(--g-spacing-4);\n }\n}"],"sourceRoot":""}
@@ -14,9 +14,10 @@ export type AttachmentsProps = {
14
14
  attachmentListProps?: Pick<AttachmentListProps, 'className'>;
15
15
  attachments?: AttachItem[];
16
16
  deletedAttachments?: AttachItem[];
17
+ onItemClick?: AttachmentListProps<AttachItem>['onItemClick'];
17
18
  onChange?: (payload: {
18
19
  attachments: AttachItem[];
19
20
  deletedAttachments: AttachItem[];
20
21
  }) => void;
21
22
  };
22
- export declare const Attachments: ({ tokens, placeholderProps, attachmentListProps, onChange, attachments: customerAttachments, deletedAttachments: customerDeletedAttachments, }: AttachmentsProps) => React.JSX.Element;
23
+ export declare const Attachments: ({ tokens, placeholderProps, attachmentListProps, onChange, onItemClick, attachments: customerAttachments, deletedAttachments: customerDeletedAttachments, }: AttachmentsProps) => React.JSX.Element;
@@ -38,6 +38,7 @@ var Attachments = exports.Attachments = function Attachments(_ref) {
38
38
  placeholderProps = _ref.placeholderProps,
39
39
  attachmentListProps = _ref.attachmentListProps,
40
40
  onChange = _ref.onChange,
41
+ onItemClick = _ref.onItemClick,
41
42
  customerAttachments = _ref.attachments,
42
43
  customerDeletedAttachments = _ref.deletedAttachments;
43
44
  var _useState = (0, _react.useState)('Current'),
@@ -263,6 +264,7 @@ var Attachments = exports.Attachments = function Attachments(_ref) {
263
264
  return setCurrentTab(tab);
264
265
  },
265
266
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_uikit.TabList, {
267
+ className: block('tab-list'),
266
268
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_uikit.Tab, {
267
269
  className: block('tab'),
268
270
  value: "Current",
@@ -307,6 +309,7 @@ var Attachments = exports.Attachments = function Attachments(_ref) {
307
309
  onDelete: function onDelete(attach) {
308
310
  return handleDelete(attach.id);
309
311
  },
312
+ onItemClick: onItemClick,
310
313
  renderEditForm: function renderEditForm(attach) {
311
314
  var isLink = typeof attach.link === 'string';
312
315
  if (isLink) {
@@ -338,6 +341,9 @@ var Attachments = exports.Attachments = function Attachments(_ref) {
338
341
  onAddFile: handleAddEmptyFile,
339
342
  onAddLink: handleAddEmptyLink
340
343
  }, placeholderProps)), Boolean(attachList.length) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_uikit.Flex, {
344
+ spacing: {
345
+ px: 4
346
+ },
341
347
  gap: 2,
342
348
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_uikit.Button, {
343
349
  onClick: handleAddEmptyFile,
@@ -371,7 +377,8 @@ var Attachments = exports.Attachments = function Attachments(_ref) {
371
377
  attachments: deletedAttachList,
372
378
  onRevert: function onRevert(attach) {
373
379
  return handleRevertDelete(attach.id);
374
- }
380
+ },
381
+ onItemClick: onItemClick
375
382
  }))
376
383
  })
377
384
  })]