@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.
- package/build/cjs/components/AttachmentList/AttachmentList.d.ts +2 -2
- package/build/cjs/components/AttachmentList/AttachmentList.js +9 -1
- package/build/cjs/components/AttachmentList/AttachmentList.js.map +1 -1
- package/build/cjs/components/AttachmentList/AttachmentList.stories.d.ts +36 -20
- package/build/cjs/components/AttachmentList/AttachmentList.stories.js +3 -0
- package/build/cjs/components/AttachmentList/AttachmentList.stories.js.map +1 -1
- package/build/cjs/components/AttachmentList/helpers/isInteractiveTarget.d.ts +2 -0
- package/build/cjs/components/AttachmentList/helpers/isInteractiveTarget.js +11 -0
- package/build/cjs/components/AttachmentList/helpers/isInteractiveTarget.js.map +1 -0
- package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js +4 -4
- package/build/cjs/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js.map +1 -1
- package/build/cjs/modules/Attachments/Attachments.css +4 -0
- package/build/cjs/modules/Attachments/Attachments.css.map +1 -1
- package/build/cjs/modules/Attachments/Attachments.d.ts +2 -1
- package/build/cjs/modules/Attachments/Attachments.js +8 -1
- package/build/cjs/modules/Attachments/Attachments.js.map +1 -1
- package/build/cjs/modules/Attachments/Attachments.stories.d.ts +2 -1
- package/build/cjs/modules/Attachments/Attachments.stories.js +7 -3
- package/build/cjs/modules/Attachments/Attachments.stories.js.map +1 -1
- package/build/cjs/modules/HistoryLayout/HistoryLayout.d.ts +1 -1
- package/build/cjs/modules/HistoryLayout/HistoryLayout.js +1 -1
- package/build/cjs/modules/HistoryLayout/HistoryLayout.js.map +1 -1
- package/build/cjs/modules/RowsList/RowsList.css +4 -0
- package/build/cjs/modules/RowsList/RowsList.css.map +1 -1
- package/build/cjs/types/queryList.d.ts +1 -1
- package/build/cjs/types/queryList.js.map +1 -1
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.js +1 -2
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.d.ts +1 -0
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.js +82 -1
- package/build/cjs/widgets/QueriesHistory/QueriesHistory.stories.js.map +1 -1
- package/build/cjs/widgets/SavedQueries/SavedQueries.stories.js.map +1 -1
- package/build/esm/components/AttachmentList/AttachmentList.d.ts +2 -2
- package/build/esm/components/AttachmentList/AttachmentList.js +9 -1
- package/build/esm/components/AttachmentList/AttachmentList.js.map +1 -1
- package/build/esm/components/AttachmentList/AttachmentList.stories.d.ts +36 -20
- package/build/esm/components/AttachmentList/AttachmentList.stories.js +3 -0
- package/build/esm/components/AttachmentList/AttachmentList.stories.js.map +1 -1
- package/build/esm/components/AttachmentList/helpers/isInteractiveTarget.d.ts +2 -0
- package/build/esm/components/AttachmentList/helpers/isInteractiveTarget.js +5 -0
- package/build/esm/components/AttachmentList/helpers/isInteractiveTarget.js.map +1 -0
- package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js +4 -4
- package/build/esm/components/AttachmentListPlaceholder/AttachmentListPlaceholder.js.map +1 -1
- package/build/esm/modules/Attachments/Attachments.css +4 -0
- package/build/esm/modules/Attachments/Attachments.css.map +1 -1
- package/build/esm/modules/Attachments/Attachments.d.ts +2 -1
- package/build/esm/modules/Attachments/Attachments.js +8 -1
- package/build/esm/modules/Attachments/Attachments.js.map +1 -1
- package/build/esm/modules/Attachments/Attachments.scss +5 -0
- package/build/esm/modules/Attachments/Attachments.stories.d.ts +2 -1
- package/build/esm/modules/Attachments/Attachments.stories.js +7 -3
- package/build/esm/modules/Attachments/Attachments.stories.js.map +1 -1
- package/build/esm/modules/HistoryLayout/HistoryLayout.d.ts +1 -1
- package/build/esm/modules/HistoryLayout/HistoryLayout.js +1 -1
- package/build/esm/modules/HistoryLayout/HistoryLayout.js.map +1 -1
- package/build/esm/modules/RowsList/RowsList.css +4 -0
- package/build/esm/modules/RowsList/RowsList.css.map +1 -1
- package/build/esm/modules/RowsList/RowsList.scss +3 -0
- package/build/esm/types/queryList.d.ts +1 -1
- package/build/esm/types/queryList.js.map +1 -1
- package/build/esm/widgets/QueriesHistory/QueriesHistory.js +1 -2
- package/build/esm/widgets/QueriesHistory/QueriesHistory.js.map +1 -1
- package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.d.ts +1 -0
- package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.js +81 -0
- package/build/esm/widgets/QueriesHistory/QueriesHistory.stories.js.map +1 -1
- package/build/esm/widgets/SavedQueries/SavedQueries.stories.js.map +1 -1
- package/package.json +29 -2
- package/.agents/skills/code-review-checklist/SKILL.md +0 -94
- package/.agents/skills/github-pr-review/SKILL.md +0 -24
- package/.agents/skills/gravity-ui/SKILL.md +0 -175
- package/.agents/skills/gravity-ui/references/icons.md +0 -60
- package/.agents/skills/gravity-ui/references/layout.md +0 -366
- package/.agents/skills/gravity-ui/references/package-routing.md +0 -424
- package/.agents/skills/gravity-ui/references/theming.md +0 -309
- package/.agents/skills/gravity-ui/rules/hallucination-traps.md +0 -361
- package/.agents/skills/gravity-ui/scripts/icon-image-search.sh +0 -63
- package/.eslintignore +0 -3
- package/.github/workflows/ci.yml +0 -25
- package/.github/workflows/main-preview.yml +0 -31
- package/.github/workflows/pr-preview-build.yml +0 -13
- package/.github/workflows/pr-preview-deploy.yml +0 -22
- package/.github/workflows/pr-title.yml +0 -27
- package/.github/workflows/release.yml +0 -20
- package/.nvmrc +0 -1
- package/.prettierrc.js +0 -1
- package/.storybook/main.ts +0 -31
- package/.storybook/preview.tsx +0 -43
- package/.storybook/redefinition.css +0 -3
- package/.storybook/tsconfig.json +0 -9
- package/.stylelintrc +0 -9
- package/AGENTS.md +0 -129
- package/CHANGELOG.md +0 -103
- package/CODEOWNERS +0 -2
- package/CONTRIBUTING.md +0 -31
- package/NOTICES.md +0 -8
- package/app-builder.config.ts +0 -9
- package/commitlint.config.cjs +0 -6
- package/eslint.config.mjs +0 -53
- package/plans/i18n-rules.md +0 -116
- package/plans/navigation-architecture.md +0 -262
- package/plans/queries-history-structure.md +0 -143
- package/plans/queries-navigation-architecture-review.md +0 -217
- package/plans/styles-rules.md +0 -137
- package/skills-lock.json +0 -11
- package/src/components/AddChartButton/AddChartButton.scss +0 -12
- package/src/components/AddChartButton/AddChartButton.stories.tsx +0 -34
- package/src/components/AddChartButton/AddChartButton.tsx +0 -139
- package/src/components/AddChartButton/index.ts +0 -6
- package/src/components/AttachmentList/AttachmentList.scss +0 -25
- package/src/components/AttachmentList/AttachmentList.stories.tsx +0 -243
- package/src/components/AttachmentList/AttachmentList.tsx +0 -67
- package/src/components/AttachmentList/helpers/getIconByAttachmentName.ts +0 -36
- package/src/components/AttachmentList/helpers/objectLinkValidator.ts +0 -40
- package/src/components/AttachmentList/helpers/stringRequiredValidator.ts +0 -24
- package/src/components/AttachmentList/hooks/useKeyDownFormControl.ts +0 -22
- package/src/components/AttachmentList/hooks/useLabelRef.ts +0 -25
- package/src/components/AttachmentList/i18n/dicts.ts +0 -4
- package/src/components/AttachmentList/i18n/en.json +0 -10
- package/src/components/AttachmentList/i18n/index.ts +0 -5
- package/src/components/AttachmentList/i18n/ru.json +0 -10
- package/src/components/AttachmentList/index.ts +0 -4
- package/src/components/AttachmentList/internal/AttachmentItem/AttachmentItem.scss +0 -23
- package/src/components/AttachmentList/internal/AttachmentItem/AttachmentItem.tsx +0 -75
- package/src/components/AttachmentList/internal/AttachmentItem/index.ts +0 -2
- package/src/components/AttachmentList/internal/EditAttachmentItem/EditAttachmentItem.tsx +0 -21
- package/src/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.scss +0 -21
- package/src/components/AttachmentList/internal/EditAttachmentItem/EditLinkItem.tsx +0 -194
- package/src/components/AttachmentList/internal/EditAttachmentItem/FileEdit.tsx +0 -92
- package/src/components/AttachmentList/internal/EditAttachmentItem/index.ts +0 -4
- package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.scss +0 -5
- package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.stories.tsx +0 -30
- package/src/components/AttachmentListPlaceholder/AttachmentListPlaceholder.tsx +0 -72
- package/src/components/AttachmentListPlaceholder/assets/empty-attachments.svg +0 -14
- package/src/components/AttachmentListPlaceholder/i18n/dicts.ts +0 -4
- package/src/components/AttachmentListPlaceholder/i18n/en.json +0 -7
- package/src/components/AttachmentListPlaceholder/i18n/index.ts +0 -5
- package/src/components/AttachmentListPlaceholder/i18n/ru.json +0 -7
- package/src/components/AttachmentListPlaceholder/index.ts +0 -2
- package/src/components/Breadcrumbs/Breadcrumbs.scss +0 -25
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -114
- package/src/components/Breadcrumbs/helpers/parsePathSegments.ts +0 -16
- package/src/components/Breadcrumbs/i18n/dicts.ts +0 -4
- package/src/components/Breadcrumbs/i18n/en.json +0 -4
- package/src/components/Breadcrumbs/i18n/index.ts +0 -5
- package/src/components/Breadcrumbs/i18n/ru.json +0 -4
- package/src/components/Breadcrumbs/index.ts +0 -2
- package/src/components/Chart/Chart.scss +0 -40
- package/src/components/Chart/Chart.stories.tsx +0 -75
- package/src/components/Chart/Chart.tsx +0 -120
- package/src/components/Chart/i18n/dicts.ts +0 -4
- package/src/components/Chart/i18n/en.json +0 -6
- package/src/components/Chart/i18n/index.ts +0 -5
- package/src/components/Chart/i18n/ru.json +0 -6
- package/src/components/Chart/index.ts +0 -2
- package/src/components/ChartEditorForm/ChartEditorForm.scss +0 -20
- package/src/components/ChartEditorForm/ChartEditorForm.stories.tsx +0 -88
- package/src/components/ChartEditorForm/ChartEditorForm.tsx +0 -120
- package/src/components/ChartEditorForm/helpers/resolveLabels.ts +0 -17
- package/src/components/ChartEditorForm/i18n/dicts.ts +0 -4
- package/src/components/ChartEditorForm/i18n/en.json +0 -12
- package/src/components/ChartEditorForm/i18n/index.ts +0 -5
- package/src/components/ChartEditorForm/i18n/ru.json +0 -12
- package/src/components/ChartEditorForm/index.ts +0 -7
- package/src/components/ChartEditorForm/internal/Field.tsx +0 -11
- package/src/components/ChartEditorForm/types.ts +0 -44
- package/src/components/ClusterRow/ClusterRow.tsx +0 -34
- package/src/components/ClusterRow/index.ts +0 -2
- package/src/components/Dashboard/Dashboard.scss +0 -4
- package/src/components/Dashboard/Dashboard.stories.scss +0 -18
- package/src/components/Dashboard/Dashboard.stories.tsx +0 -248
- package/src/components/Dashboard/Dashboard.tsx +0 -51
- package/src/components/Dashboard/helpers/createDefaultLayout.ts +0 -43
- package/src/components/Dashboard/hooks/useDashboardConfig.ts +0 -63
- package/src/components/Dashboard/index.ts +0 -2
- package/src/components/Dashboard/internal/DashPlate.scss +0 -23
- package/src/components/Dashboard/internal/DashPlate.tsx +0 -35
- package/src/components/Dashboard/internal/DashboardProvider.tsx +0 -37
- package/src/components/Dashboard/types.ts +0 -21
- package/src/components/DataTable/DataTable.scss +0 -27
- package/src/components/DataTable/DataTable.stories.tsx +0 -65
- package/src/components/DataTable/DataTable.tsx +0 -100
- package/src/components/DataTable/index.ts +0 -1
- package/src/components/EditableRowTitle/EditableRowTitle.tsx +0 -67
- package/src/components/EditableRowTitle/index.ts +0 -2
- package/src/components/EmptyContent/EmptyContent.scss +0 -3
- package/src/components/EmptyContent/EmptyContent.tsx +0 -57
- package/src/components/EmptyContent/i18n/dicts.ts +0 -4
- package/src/components/EmptyContent/i18n/en.json +0 -7
- package/src/components/EmptyContent/i18n/index.ts +0 -5
- package/src/components/EmptyContent/i18n/ru.json +0 -7
- package/src/components/EmptyContent/index.ts +0 -1
- package/src/components/ErrorTree/ErrorTree.stories.tsx +0 -94
- package/src/components/ErrorTree/ErrorTree.tsx +0 -30
- package/src/components/ErrorTree/helpers/formatAttributes.ts +0 -9
- package/src/components/ErrorTree/helpers/getIntermediateChain.ts +0 -21
- package/src/components/ErrorTree/i18n/dicts.ts +0 -4
- package/src/components/ErrorTree/i18n/en.json +0 -11
- package/src/components/ErrorTree/i18n/index.ts +0 -5
- package/src/components/ErrorTree/i18n/ru.json +0 -13
- package/src/components/ErrorTree/index.ts +0 -1
- package/src/components/ErrorTree/internal/ErrorTreeChildren.scss +0 -5
- package/src/components/ErrorTree/internal/ErrorTreeChildren.tsx +0 -25
- package/src/components/ErrorTree/internal/ErrorTreeNode.scss +0 -95
- package/src/components/ErrorTree/internal/ErrorTreeNode.tsx +0 -178
- package/src/components/ErrorTree/internal/IntermediateMessages.scss +0 -13
- package/src/components/ErrorTree/internal/IntermediateMessages.tsx +0 -127
- package/src/components/FieldsSearchToolbar/FieldsSearchToolbar.tsx +0 -48
- package/src/components/FieldsSearchToolbar/index.ts +0 -2
- package/src/components/FieldsSelector/FieldsSelector.scss +0 -18
- package/src/components/FieldsSelector/FieldsSelector.stories.tsx +0 -48
- package/src/components/FieldsSelector/FieldsSelector.tsx +0 -92
- package/src/components/FieldsSelector/i18n/dicts.ts +0 -4
- package/src/components/FieldsSelector/i18n/en.json +0 -3
- package/src/components/FieldsSelector/i18n/index.ts +0 -5
- package/src/components/FieldsSelector/i18n/ru.json +0 -3
- package/src/components/FieldsSelector/index.ts +0 -2
- package/src/components/HistoryFilter/HistoryFilter.scss +0 -5
- package/src/components/HistoryFilter/HistoryFilter.stories.tsx +0 -69
- package/src/components/HistoryFilter/HistoryFilter.tsx +0 -64
- package/src/components/HistoryFilter/i18n/dicts.ts +0 -4
- package/src/components/HistoryFilter/i18n/en.json +0 -4
- package/src/components/HistoryFilter/i18n/index.ts +0 -5
- package/src/components/HistoryFilter/i18n/ru.json +0 -4
- package/src/components/HistoryFilter/index.ts +0 -1
- package/src/components/HistoryGroupHeader/HistoryGroupHeader.scss +0 -7
- package/src/components/HistoryGroupHeader/HistoryGroupHeader.tsx +0 -18
- package/src/components/HistoryGroupHeader/index.ts +0 -1
- package/src/components/HistoryPrivateIcon/HistoryPrivateIcon.scss +0 -7
- package/src/components/HistoryPrivateIcon/HistoryPrivateIcon.tsx +0 -22
- package/src/components/HistoryPrivateIcon/index.ts +0 -1
- package/src/components/Icons/LogoCPlusPlus.tsx +0 -34
- package/src/components/Icons/index.ts +0 -1
- package/src/components/LazyList/LazyList.scss +0 -13
- package/src/components/LazyList/LazyList.tsx +0 -97
- package/src/components/LazyList/index.ts +0 -2
- package/src/components/ListSpinner/ListSpinner.scss +0 -3
- package/src/components/ListSpinner/ListSpinner.tsx +0 -18
- package/src/components/ListSpinner/index.ts +0 -2
- package/src/components/MonacoEditor/MonacoEditor.tsx +0 -112
- package/src/components/MonacoEditor/MonacoEditorThemes.tsx +0 -73
- package/src/components/MonacoEditor/index.ts +0 -11
- package/src/components/MonacoEditor/monaco-yql-languages/_.contribution.ts +0 -193
- package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.contribution.ts +0 -14
- package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.keywords.ts +0 -146
- package/src/components/MonacoEditor/monaco-yql-languages/clickhouse/clickhouse.ts +0 -217
- package/src/components/MonacoEditor/monaco-yql-languages/constants.ts +0 -6
- package/src/components/MonacoEditor/monaco-yql-languages/fillers/monaco-editor-core.ts +0 -3
- package/src/components/MonacoEditor/monaco-yql-languages/index.ts +0 -1
- package/src/components/MonacoEditor/monaco-yql-languages/monaco.contribution.ts +0 -5
- package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.contribution.ts +0 -14
- package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.keywords.ts +0 -97
- package/src/components/MonacoEditor/monaco-yql-languages/s-expressions/s-expressions.ts +0 -170
- package/src/components/MonacoEditor/monaco-yql-languages/themes/themes.contribution.ts +0 -35
- package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.contribution.ts +0 -14
- package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.keywords.ts +0 -13
- package/src/components/MonacoEditor/monaco-yql-languages/yql/yql.ts +0 -178
- package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.contribution.ts +0 -14
- package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.keywords.ts +0 -45
- package/src/components/MonacoEditor/monaco-yql-languages/yql_ansi/yql_ansi.ts +0 -142
- package/src/components/NavigationActionButtons/NavigationActionButtons.tsx +0 -46
- package/src/components/NavigationActionButtons/index.ts +0 -2
- package/src/components/NavigationItemRow/NavigationItemRow.tsx +0 -28
- package/src/components/NavigationItemRow/index.ts +0 -2
- package/src/components/PathEditor/PathEditor.scss +0 -41
- package/src/components/PathEditor/PathEditor.stories.helpers.ts +0 -118
- package/src/components/PathEditor/PathEditor.stories.tsx +0 -57
- package/src/components/PathEditor/PathEditor.tsx +0 -380
- package/src/components/PathEditor/helpers/suggestions.ts +0 -40
- package/src/components/PathEditor/i18n/dicts.ts +0 -4
- package/src/components/PathEditor/i18n/en.json +0 -4
- package/src/components/PathEditor/i18n/index.ts +0 -5
- package/src/components/PathEditor/i18n/ru.json +0 -4
- package/src/components/PathEditor/index.ts +0 -2
- package/src/components/QueryDuration/QueryDuration.scss +0 -6
- package/src/components/QueryDuration/QueryDuration.stories.tsx +0 -40
- package/src/components/QueryDuration/QueryDuration.tsx +0 -21
- package/src/components/QueryDuration/index.ts +0 -1
- package/src/components/QueryDuration/useQueryDuration.ts +0 -34
- package/src/components/QueryResultsTable/QueryResultsTable.scss +0 -65
- package/src/components/QueryResultsTable/QueryResultsTable.tsx +0 -112
- package/src/components/QueryResultsTable/helpers/formatQueryResultType.ts +0 -76
- package/src/components/QueryResultsTable/helpers/formatQueryResultValue.ts +0 -38
- package/src/components/QueryResultsTable/i18n/dicts.ts +0 -4
- package/src/components/QueryResultsTable/i18n/en.json +0 -5
- package/src/components/QueryResultsTable/i18n/index.ts +0 -4
- package/src/components/QueryResultsTable/i18n/ru.json +0 -5
- package/src/components/QueryResultsTable/index.ts +0 -3
- package/src/components/QueryResultsTable/internal/QueryResultCell.tsx +0 -63
- package/src/components/QueryStatusIcon/QueryStatusIcon.scss +0 -17
- package/src/components/QueryStatusIcon/QueryStatusIcon.stories.tsx +0 -50
- package/src/components/QueryStatusIcon/QueryStatusIcon.tsx +0 -37
- package/src/components/QueryStatusIcon/index.ts +0 -1
- package/src/components/RowActionsMenu/RowActionsMenu.tsx +0 -47
- package/src/components/RowActionsMenu/index.ts +0 -2
- package/src/components/RowLink/RowLink.scss +0 -8
- package/src/components/RowLink/RowLink.tsx +0 -23
- package/src/components/RowLink/index.ts +0 -2
- package/src/components/SearchRowLayout/SearchRowLayout.scss +0 -18
- package/src/components/SearchRowLayout/SearchRowLayout.tsx +0 -45
- package/src/components/SearchRowLayout/helpers/fitQueryToVisibleLines.ts +0 -10
- package/src/components/SearchRowLayout/helpers/monacoConfig.ts +0 -25
- package/src/components/SearchRowLayout/index.ts +0 -2
- package/src/components/SearchWithButtons/SearchWithButtons.scss +0 -10
- package/src/components/SearchWithButtons/SearchWithButtons.stories.tsx +0 -107
- package/src/components/SearchWithButtons/SearchWithButtons.tsx +0 -56
- package/src/components/SearchWithButtons/index.ts +0 -2
- package/src/components/SimpleForm/CheckboxGroupField.tsx +0 -53
- package/src/components/SimpleForm/RangeDatePickerField.tsx +0 -50
- package/src/components/SimpleForm/SelectField.tsx +0 -24
- package/src/components/SimpleForm/SimpleForm.stories.tsx +0 -115
- package/src/components/SimpleForm/SimpleForm.tsx +0 -65
- package/src/components/SimpleForm/SwitchField.tsx +0 -23
- package/src/components/SimpleForm/helpers/controlsRegistry.ts +0 -24
- package/src/components/SimpleForm/helpers/getInitialValues.ts +0 -10
- package/src/components/SimpleForm/helpers/index.ts +0 -2
- package/src/components/SimpleForm/index.ts +0 -7
- package/src/components/SkeletonRows/SkeletonRows.tsx +0 -24
- package/src/components/SkeletonRows/index.ts +0 -2
- package/src/components/index.ts +0 -71
- package/src/constants/query.ts +0 -10
- package/src/constants/row.ts +0 -2
- package/src/helpers/buildColumnsFromKeys.ts +0 -17
- package/src/helpers/createUuid.ts +0 -3
- package/src/helpers/getDefaultNavigationIcon.ts +0 -33
- package/src/helpers/getListKey.ts +0 -12
- package/src/helpers/getParentPath.ts +0 -10
- package/src/helpers/isEmptyValue.ts +0 -2
- package/src/helpers/isFieldVisible.ts +0 -20
- package/src/helpers/isObjectEqual.ts +0 -15
- package/src/helpers/time.ts +0 -29
- package/src/helpers/useDebouncedValue.ts +0 -14
- package/src/helpers/useLoadMoreSentinel.ts +0 -31
- package/src/helpers/useToggle.ts +0 -11
- package/src/helpers/useVisibleColumns.ts +0 -26
- package/src/i18n/index.ts +0 -26
- package/src/index.ts +0 -12
- package/src/modules/Attachments/Attachments.scss +0 -10
- package/src/modules/Attachments/Attachments.stories.tsx +0 -112
- package/src/modules/Attachments/Attachments.tsx +0 -336
- package/src/modules/Attachments/i18n/dicts.ts +0 -4
- package/src/modules/Attachments/i18n/en.json +0 -5
- package/src/modules/Attachments/i18n/index.ts +0 -5
- package/src/modules/Attachments/i18n/ru.json +0 -5
- package/src/modules/Attachments/index.ts +0 -2
- package/src/modules/ChartEditor/ChartEditor.scss +0 -12
- package/src/modules/ChartEditor/ChartEditor.tsx +0 -116
- package/src/modules/ChartEditor/i18n/dicts.ts +0 -4
- package/src/modules/ChartEditor/i18n/en.json +0 -3
- package/src/modules/ChartEditor/i18n/index.ts +0 -5
- package/src/modules/ChartEditor/i18n/ru.json +0 -3
- package/src/modules/ChartEditor/index.ts +0 -2
- package/src/modules/ChartEditor/story/ChartEditor.stories.tsx +0 -186
- package/src/modules/ChartEditor/story/mockData.ts +0 -222
- package/src/modules/ChartEditor/types.ts +0 -18
- package/src/modules/ClustersList/ClustersList.scss +0 -11
- package/src/modules/ClustersList/ClustersList.tsx +0 -49
- package/src/modules/ClustersList/index.ts +0 -2
- package/src/modules/HistoryComparisonActions/HistoryComparisonActions.scss +0 -4
- package/src/modules/HistoryComparisonActions/HistoryComparisonActions.tsx +0 -42
- package/src/modules/HistoryComparisonActions/index.ts +0 -2
- package/src/modules/HistoryHeader/HistoryHeader.stories.tsx +0 -47
- package/src/modules/HistoryHeader/HistoryHeader.tsx +0 -58
- package/src/modules/HistoryHeader/index.ts +0 -1
- package/src/modules/HistoryHeader/internal/FullSearchToggleButton.tsx +0 -16
- package/src/modules/HistoryLayout/HistoryLayout.scss +0 -7
- package/src/modules/HistoryLayout/HistoryLayout.tsx +0 -43
- package/src/modules/HistoryLayout/index.ts +0 -2
- package/src/modules/HistoryRow/HistoryRow.scss +0 -32
- package/src/modules/HistoryRow/HistoryRow.stories.tsx +0 -91
- package/src/modules/HistoryRow/HistoryRow.tsx +0 -77
- package/src/modules/HistoryRow/index.ts +0 -1
- package/src/modules/HistorySearchRow/HistorySearchRow.scss +0 -13
- package/src/modules/HistorySearchRow/HistorySearchRow.stories.tsx +0 -52
- package/src/modules/HistorySearchRow/HistorySearchRow.tsx +0 -62
- package/src/modules/HistorySearchRow/helpers/resolveMonacoLanguage.ts +0 -19
- package/src/modules/HistorySearchRow/index.ts +0 -1
- package/src/modules/NavigationDetail/NavigationDetail.scss +0 -13
- package/src/modules/NavigationDetail/NavigationDetail.tsx +0 -121
- package/src/modules/NavigationDetail/helpers/getInitialTab.ts +0 -9
- package/src/modules/NavigationDetail/helpers/getVisibleTabs.ts +0 -5
- package/src/modules/NavigationDetail/index.ts +0 -2
- package/src/modules/NavigationDetail/internal/NavigationDetailTabs.tsx +0 -32
- package/src/modules/NavigationHeader/NavigationHeader.stories.tsx +0 -118
- package/src/modules/NavigationHeader/NavigationHeader.tsx +0 -33
- package/src/modules/NavigationHeader/index.ts +0 -2
- package/src/modules/NavigationItemsList/NavigationItemsList.scss +0 -65
- package/src/modules/NavigationItemsList/NavigationItemsList.tsx +0 -92
- package/src/modules/NavigationItemsList/index.ts +0 -2
- package/src/modules/NavigationItemsList/internal/NavigationItemsListEmptyState.tsx +0 -45
- package/src/modules/NavigationItemsList/internal/NavigationItemsListHeader.scss +0 -6
- package/src/modules/NavigationItemsList/internal/NavigationItemsListHeader.tsx +0 -54
- package/src/modules/NavigationItemsList/internal/useParentRow.ts +0 -23
- package/src/modules/NavigationMeta/NavigationMeta.scss +0 -25
- package/src/modules/NavigationMeta/NavigationMeta.tsx +0 -81
- package/src/modules/NavigationMeta/helpers/buildMetaGroups.tsx +0 -27
- package/src/modules/NavigationMeta/i18n/dicts.ts +0 -4
- package/src/modules/NavigationMeta/i18n/en.json +0 -4
- package/src/modules/NavigationMeta/i18n/index.ts +0 -5
- package/src/modules/NavigationMeta/i18n/ru.json +0 -4
- package/src/modules/NavigationMeta/index.ts +0 -3
- package/src/modules/NavigationMeta/story/NavigationMeta.stories.tsx +0 -80
- package/src/modules/NavigationMeta/story/mockData.ts +0 -22
- package/src/modules/NavigationPreview/NavigationPreview.scss +0 -32
- package/src/modules/NavigationPreview/NavigationPreview.tsx +0 -155
- package/src/modules/NavigationPreview/helpers/buildPreviewColumns.tsx +0 -11
- package/src/modules/NavigationPreview/helpers/filterPreviewRows.ts +0 -29
- package/src/modules/NavigationPreview/i18n/dicts.ts +0 -4
- package/src/modules/NavigationPreview/i18n/en.json +0 -3
- package/src/modules/NavigationPreview/i18n/index.ts +0 -5
- package/src/modules/NavigationPreview/i18n/ru.json +0 -3
- package/src/modules/NavigationPreview/index.ts +0 -4
- package/src/modules/NavigationPreview/story/NavigationPreview.stories.tsx +0 -123
- package/src/modules/NavigationPreview/story/mockData.ts +0 -14
- package/src/modules/NavigationSchema/NavigationSchema.scss +0 -24
- package/src/modules/NavigationSchema/NavigationSchema.tsx +0 -118
- package/src/modules/NavigationSchema/helpers/buildSchemaColumns.tsx +0 -54
- package/src/modules/NavigationSchema/helpers/filterSchema.ts +0 -18
- package/src/modules/NavigationSchema/i18n/dicts.ts +0 -4
- package/src/modules/NavigationSchema/i18n/en.json +0 -9
- package/src/modules/NavigationSchema/i18n/index.ts +0 -5
- package/src/modules/NavigationSchema/i18n/ru.json +0 -9
- package/src/modules/NavigationSchema/index.ts +0 -4
- package/src/modules/NavigationSchema/story/NavigationSchema.stories.tsx +0 -112
- package/src/modules/NavigationSchema/story/mockData.ts +0 -9
- package/src/modules/NavigationView/NavigationView.scss +0 -44
- package/src/modules/NavigationView/NavigationView.tsx +0 -60
- package/src/modules/NavigationView/helpers/buildViewColumns.tsx +0 -11
- package/src/modules/NavigationView/i18n/dicts.ts +0 -4
- package/src/modules/NavigationView/i18n/en.json +0 -3
- package/src/modules/NavigationView/i18n/index.ts +0 -5
- package/src/modules/NavigationView/i18n/ru.json +0 -3
- package/src/modules/NavigationView/index.ts +0 -3
- package/src/modules/NavigationView/internal/NavigationViewSectionItem.tsx +0 -70
- package/src/modules/NavigationView/story/NavigationView.stories.tsx +0 -110
- package/src/modules/NavigationView/story/mockData.ts +0 -35
- package/src/modules/QueriesList/QueriesList.scss +0 -10
- package/src/modules/QueriesList/QueriesList.tsx +0 -98
- package/src/modules/QueriesList/index.ts +0 -2
- package/src/modules/QueryStatistics/QueryStatistics.scss +0 -3
- package/src/modules/QueryStatistics/QueryStatistics.tsx +0 -125
- package/src/modules/QueryStatistics/helpers.ts +0 -96
- package/src/modules/QueryStatistics/i18n/dicts.ts +0 -4
- package/src/modules/QueryStatistics/i18n/en.json +0 -16
- package/src/modules/QueryStatistics/i18n/index.ts +0 -4
- package/src/modules/QueryStatistics/i18n/ru.json +0 -16
- package/src/modules/QueryStatistics/index.ts +0 -13
- package/src/modules/QueryStatistics/internal/MetricCell.scss +0 -12
- package/src/modules/QueryStatistics/internal/MetricCell.tsx +0 -99
- package/src/modules/QueryStatistics/internal/QueryStatisticsTable.scss +0 -8
- package/src/modules/QueryStatistics/internal/QueryStatisticsTable.tsx +0 -135
- package/src/modules/QueryStatistics/internal/QueryStatisticsToolbar.scss +0 -1
- package/src/modules/QueryStatistics/internal/QueryStatisticsToolbar.tsx +0 -61
- package/src/modules/QueryStatistics/story/QueryStatistics.stories.tsx +0 -71
- package/src/modules/RowsList/RowsList.scss +0 -5
- package/src/modules/RowsList/RowsList.tsx +0 -96
- package/src/modules/RowsList/helpers/prepareRowData.ts +0 -61
- package/src/modules/RowsList/index.ts +0 -2
- package/src/modules/SavedQueryRow/SavedQueryRow.scss +0 -20
- package/src/modules/SavedQueryRow/SavedQueryRow.tsx +0 -60
- package/src/modules/SavedQueryRow/index.ts +0 -2
- package/src/modules/SavedQuerySearchRow/SavedQuerySearchRow.scss +0 -15
- package/src/modules/SavedQuerySearchRow/SavedQuerySearchRow.tsx +0 -58
- package/src/modules/SavedQuerySearchRow/index.ts +0 -2
- package/src/modules/TutorialRow/TutorialRow.scss +0 -9
- package/src/modules/TutorialRow/TutorialRow.stories.tsx +0 -43
- package/src/modules/TutorialRow/TutorialRow.tsx +0 -25
- package/src/modules/TutorialRow/index.ts +0 -2
- package/src/modules/TutorialSearchRow/TutorialSearchRow.scss +0 -5
- package/src/modules/TutorialSearchRow/TutorialSearchRow.stories.tsx +0 -44
- package/src/modules/TutorialSearchRow/TutorialSearchRow.tsx +0 -33
- package/src/modules/TutorialSearchRow/index.ts +0 -2
- package/src/modules/index.ts +0 -50
- package/src/types/declarations.d.ts +0 -25
- package/src/types/errorTree.ts +0 -30
- package/src/types/forms.ts +0 -33
- package/src/types/history.ts +0 -12
- package/src/types/navigation.ts +0 -209
- package/src/types/pathEditor.ts +0 -29
- package/src/types/queryList.ts +0 -92
- package/src/types/queryResults.ts +0 -48
- package/src/types/queryStatistics.ts +0 -67
- package/src/types/savedQueries.ts +0 -7
- package/src/types/tutorial.ts +0 -3
- package/src/widgets/DashboardCharts/DashboardCharts.scss +0 -25
- package/src/widgets/DashboardCharts/DashboardCharts.tsx +0 -214
- package/src/widgets/DashboardCharts/helpers/chartTypeIcons.ts +0 -33
- package/src/widgets/DashboardCharts/i18n/dicts.ts +0 -4
- package/src/widgets/DashboardCharts/i18n/en.json +0 -7
- package/src/widgets/DashboardCharts/i18n/index.ts +0 -5
- package/src/widgets/DashboardCharts/i18n/ru.json +0 -7
- package/src/widgets/DashboardCharts/index.ts +0 -2
- package/src/widgets/DashboardCharts/internal/EmptyDashboardPlaceholder.tsx +0 -26
- package/src/widgets/DashboardCharts/story/DashboardCharts.stories.scss +0 -6
- package/src/widgets/DashboardCharts/story/DashboardCharts.stories.tsx +0 -77
- package/src/widgets/DashboardCharts/story/mockData.ts +0 -419
- package/src/widgets/DashboardCharts/types.ts +0 -30
- package/src/widgets/QueriesHistory/QueriesHistory.scss +0 -3
- package/src/widgets/QueriesHistory/QueriesHistory.stories.tsx +0 -276
- package/src/widgets/QueriesHistory/QueriesHistory.tsx +0 -71
- package/src/widgets/QueriesHistory/i18n/dicts.ts +0 -4
- package/src/widgets/QueriesHistory/i18n/en.json +0 -3
- package/src/widgets/QueriesHistory/i18n/index.ts +0 -5
- package/src/widgets/QueriesHistory/i18n/ru.json +0 -3
- package/src/widgets/QueriesHistory/index.ts +0 -2
- package/src/widgets/QueriesHistory/internal/HistoryRowContent.tsx +0 -22
- package/src/widgets/QueriesNavigation/QueriesNavigation.scss +0 -9
- package/src/widgets/QueriesNavigation/QueriesNavigation.stories.tsx +0 -409
- package/src/widgets/QueriesNavigation/QueriesNavigation.tsx +0 -195
- package/src/widgets/QueriesNavigation/helpers/createEmptyDetailConfig.tsx +0 -8
- package/src/widgets/QueriesNavigation/helpers/createNavigationDetailResolver.ts +0 -28
- package/src/widgets/QueriesNavigation/helpers/createTableDetailConfig.tsx +0 -127
- package/src/widgets/QueriesNavigation/i18n/dicts.ts +0 -4
- package/src/widgets/QueriesNavigation/i18n/en.json +0 -10
- package/src/widgets/QueriesNavigation/i18n/index.ts +0 -5
- package/src/widgets/QueriesNavigation/i18n/ru.json +0 -10
- package/src/widgets/QueriesNavigation/index.ts +0 -13
- package/src/widgets/QueryResults/QueryResults.scss +0 -25
- package/src/widgets/QueryResults/QueryResults.stories.tsx +0 -155
- package/src/widgets/QueryResults/QueryResults.tsx +0 -121
- package/src/widgets/QueryResults/i18n/dicts.ts +0 -4
- package/src/widgets/QueryResults/i18n/en.json +0 -10
- package/src/widgets/QueryResults/i18n/index.ts +0 -4
- package/src/widgets/QueryResults/i18n/ru.json +0 -12
- package/src/widgets/QueryResults/index.ts +0 -2
- package/src/widgets/QueryResults/internal/QueryResultsSchema.tsx +0 -41
- package/src/widgets/SavedQueries/SavedQueries.scss +0 -3
- package/src/widgets/SavedQueries/SavedQueries.stories.tsx +0 -192
- package/src/widgets/SavedQueries/SavedQueries.tsx +0 -77
- package/src/widgets/SavedQueries/SavedQueryRowContent.tsx +0 -26
- package/src/widgets/SavedQueries/i18n/dicts.ts +0 -4
- package/src/widgets/SavedQueries/i18n/en.json +0 -3
- package/src/widgets/SavedQueries/i18n/index.ts +0 -4
- package/src/widgets/SavedQueries/i18n/ru.json +0 -3
- package/src/widgets/SavedQueries/index.ts +0 -2
- package/src/widgets/TutorialsHistory/TutorialRowContent.tsx +0 -16
- package/src/widgets/TutorialsHistory/TutorialsHistory.scss +0 -3
- package/src/widgets/TutorialsHistory/TutorialsHistory.stories.tsx +0 -135
- package/src/widgets/TutorialsHistory/TutorialsHistory.tsx +0 -63
- package/src/widgets/TutorialsHistory/i18n/dicts.ts +0 -4
- package/src/widgets/TutorialsHistory/i18n/en.json +0 -3
- package/src/widgets/TutorialsHistory/i18n/index.ts +0 -5
- package/src/widgets/TutorialsHistory/i18n/ru.json +0 -3
- package/src/widgets/TutorialsHistory/index.ts +0 -2
- package/src/widgets/index.ts +0 -20
- package/tsconfig.json +0 -20
- package/tsconfig.publish.json +0 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikit","_actions","_SavedQueries","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_interopRequireDefault","QUERY","BASE_ITEMS","id","title","savedAt","engine","author","query","height","filterFields","type","initialValue","items","fields","meta","component","SavedQueries","tags","parameters","layout","_default","exports","SavedQueriesStory","_useState","useState","_useState2","_slicedToArray","setItems","_useState3","value","fullSearch","_useState4","search","setSearch","_useState5","_useState6","visibleFields","setVisibleFields","_useState7","_useState8","comparedRowIds","setComparedRowIds","_useState9","_useState0","editingRowId","setEditingRowId","filteredItems","useMemo","toLowerCase","filter","item","_item$query","includes","updateTitle","currentItems","map","currentItem","_objectSpread","undefined","_jsx","style","width","children","hasClear","onUpdate","onApply","action","onReset","onChange","editing","rowId","onSubmit","onCancel","comparison","enabled","Boolean","length","selected","currentIds","concat","_toConsumableArray","slice","onCompare","getRowActions","text","onClick","theme","CustomAuthorStory","team","_useState1","_useState10","renderAuthor","Text","color","EmptyStory","_useState11","_useState12","Default","render","CustomAuthor","Empty"],"sources":["SavedQueries.stories.tsx"],"sourcesContent":["import React, {useMemo, useState} from 'react';\nimport type {Meta, StoryObj} from '@storybook/react';\nimport {Text} from '@gravity-ui/uikit';\nimport {action} from 'storybook/actions';\nimport {\n QueryListFieldKey,\n QueryListFilterConfig,\n QueryListItem,\n QueryListVisibleFieldsConfig,\n} from '../../types/queryList';\nimport {SavedQuery} from '../../types/savedQueries';\nimport {SavedQueries} from './SavedQueries';\n\nconst QUERY = `SELECT\n session_id,\n COUNT(*) AS sessions_count\nFROM visits\nGROUP BY session_id;`;\n\nconst BASE_ITEMS: QueryListItem<SavedQuery>[] = [\n {\n id: 1,\n title: 'New Query',\n savedAt: '2026-04-29T12:00:00.000Z',\n engine: 'SQL',\n author: 'Anna Petrova',\n query: QUERY,\n height: 52,\n },\n {\n id: 2,\n title: 'Daily conversion report',\n savedAt: '2026-04-29T11:00:00.000Z',\n engine: 'YQL',\n author: 'Pavel Sidorov',\n query: QUERY,\n height: 52,\n },\n {\n id: 3,\n title: 'Product funnel',\n savedAt: '2026-04-28T09:00:00.000Z',\n engine: 'SQL',\n author: 'Maria Volkova',\n query: 'SELECT 1;',\n height: 52,\n },\n];\n\nconst filterFields: QueryListFilterConfig['fields'] = [\n {id: 'onlyMine', type: 'switch', title: 'My queries only', initialValue: true},\n {id: 'range', type: 'rangeDatePicker', title: 'Period'},\n {\n id: 'engine',\n type: 'checkboxGroup',\n title: 'Engine',\n initialValue: [],\n items: [\n {id: 'yql', title: 'YQL'},\n {id: 'sql', title: 'SQL'},\n ],\n },\n];\n\nconst fields: QueryListVisibleFieldsConfig<SavedQuery>['fields'] = [\n {id: 'savedAt', title: 'Saved date'},\n {id: 'engine', title: 'Engine'},\n {id: 'author', title: 'Author'},\n];\n\nconst meta: Meta<typeof SavedQueries> = {\n title: 'Widgets/SavedQueries',\n component: SavedQueries,\n tags: ['autodocs'],\n parameters: {layout: 'padded'},\n};\n\nexport default meta;\ntype Story = StoryObj<typeof SavedQueries>;\n\nconst SavedQueriesStory = () => {\n const [items, setItems] = useState(BASE_ITEMS);\n const [search, setSearch] = useState({value: '', fullSearch: false});\n const [visibleFields, setVisibleFields] = useState<QueryListFieldKey<SavedQuery>[]>([\n 'savedAt',\n 'engine',\n 'author',\n ]);\n const [comparedRowIds, setComparedRowIds] = useState<number[]>([]);\n const [editingRowId, setEditingRowId] = useState<number>();\n\n const filteredItems = useMemo(() => {\n if (!search.value) return items;\n\n const value = search.value.toLowerCase();\n return items.filter((item) => {\n if ('header' in item) return false;\n\n return search.fullSearch\n ? item.title.toLowerCase().includes(value) ||\n item.query?.toLowerCase().includes(value)\n : item.title.toLowerCase().includes(value);\n });\n }, [items, search]);\n\n const updateTitle = (item: SavedQuery, title: string) => {\n setItems((currentItems) =>\n currentItems.map((currentItem) =>\n 'id' in currentItem && currentItem.id === item.id\n ? {...currentItem, title}\n : currentItem,\n ),\n );\n setEditingRowId(undefined);\n };\n\n return (\n <div style={{width: 360, height: 560}}>\n <SavedQueries\n items={filteredItems}\n search={{...search, hasClear: true, onUpdate: setSearch}}\n filter={{\n fields: filterFields,\n onApply: action('onFilterApply'),\n onReset: action('onFilterReset'),\n }}\n visibleFields={{value: visibleFields, fields, onChange: setVisibleFields}}\n editing={{\n rowId: editingRowId,\n onSubmit: updateTitle,\n onCancel: () => setEditingRowId(undefined),\n }}\n comparison={{\n enabled: Boolean(comparedRowIds.length),\n comparedRowIds,\n onChange: (item, selected) => {\n setComparedRowIds((currentIds) =>\n selected\n ? [...currentIds.filter((id) => id !== item.id).slice(-1), item.id]\n : currentIds.filter((id) => id !== item.id),\n );\n },\n onCancel: () => setComparedRowIds([]),\n onCompare: () => action('onCompare')(comparedRowIds),\n }}\n getRowActions={(item) => [\n {text: 'Copy to', onClick: () => action('onCopyTo')(item)},\n {text: 'Show operations', onClick: () => action('onShowOperations')(item)},\n {text: 'Edit', onClick: () => setEditingRowId(item.id)},\n {\n text: 'Compare with baseline',\n onClick: () => setComparedRowIds([item.id]),\n },\n {text: 'Delete', theme: 'danger', onClick: () => action('onDelete')(item)},\n ]}\n />\n </div>\n );\n};\n\ntype ExtendedSavedQuery = SavedQuery & {team: string};\n\nconst CustomAuthorStory = () => {\n const items: QueryListItem<ExtendedSavedQuery>[] = BASE_ITEMS.map((item) =>\n 'header' in item ? item : {...item, team: 'Analytics'},\n );\n const [search, setSearch] = useState({value: '', fullSearch: false});\n\n return (\n <div style={{width: 360, height: 280}}>\n <SavedQueries\n items={items}\n search={{...search, hasClear: true, onUpdate: setSearch}}\n renderAuthor={(item) => <Text color=\"complementary\">{item.team}</Text>}\n />\n </div>\n );\n};\n\nconst EmptyStory = () => {\n const [search, setSearch] = useState({value: '', fullSearch: false});\n\n return (\n <div style={{width: 360, height: 280}}>\n <SavedQueries items={[]} search={{...search, hasClear: true, onUpdate: setSearch}} />\n </div>\n );\n};\n\nexport const Default: Story = {render: () => <SavedQueriesStory />};\nexport const CustomAuthor: Story = {render: () => <CustomAuthorStory />};\nexport const Empty: Story = {render: () => <EmptyStory />};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_uikit","_actions","_SavedQueries","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_interopRequireDefault","QUERY","BASE_ITEMS","id","title","savedAt","engine","author","query","height","filterFields","type","initialValue","items","fields","meta","component","SavedQueries","tags","parameters","layout","_default","exports","SavedQueriesStory","_useState","useState","_useState2","_slicedToArray","setItems","_useState3","value","fullSearch","_useState4","search","setSearch","_useState5","_useState6","visibleFields","setVisibleFields","_useState7","_useState8","comparedRowIds","setComparedRowIds","_useState9","_useState0","editingRowId","setEditingRowId","filteredItems","useMemo","toLowerCase","filter","item","_item$query","includes","updateTitle","currentItems","map","currentItem","_objectSpread","undefined","_jsx","style","width","children","hasClear","onUpdate","onApply","action","onReset","onChange","editing","rowId","onSubmit","onCancel","comparison","enabled","Boolean","length","selected","currentIds","concat","_toConsumableArray","slice","onCompare","getRowActions","text","onClick","theme","CustomAuthorStory","team","_useState1","_useState10","renderAuthor","Text","color","EmptyStory","_useState11","_useState12","Default","render","CustomAuthor","Empty"],"sources":["SavedQueries.stories.tsx"],"sourcesContent":["import React, {useMemo, useState} from 'react';\nimport type {Meta, StoryObj} from '@storybook/react';\nimport {Text} from '@gravity-ui/uikit';\nimport {action} from 'storybook/actions';\nimport {\n QueryListFieldKey,\n QueryListFilterConfig,\n QueryListItem,\n QueryListVisibleFieldsConfig,\n} from '../../types/queryList';\nimport {SavedQuery} from '../../types/savedQueries';\nimport {SavedQueries} from './SavedQueries';\n\nconst QUERY = `SELECT\n session_id,\n COUNT(*) AS sessions_count\nFROM visits\nGROUP BY session_id;`;\n\nconst BASE_ITEMS: QueryListItem<SavedQuery>[] = [\n {\n id: 1,\n title: 'New Query',\n savedAt: '2026-04-29T12:00:00.000Z',\n engine: 'SQL',\n author: 'Anna Petrova',\n query: QUERY,\n height: 52,\n },\n {\n id: 2,\n title: 'Daily conversion report',\n savedAt: '2026-04-29T11:00:00.000Z',\n engine: 'YQL',\n author: 'Pavel Sidorov',\n query: QUERY,\n height: 52,\n },\n {\n id: 3,\n title: 'Product funnel',\n savedAt: '2026-04-28T09:00:00.000Z',\n engine: 'SQL',\n author: 'Maria Volkova',\n query: 'SELECT 1;',\n height: 52,\n },\n];\n\nconst filterFields: QueryListFilterConfig['fields'] = [\n {id: 'onlyMine', type: 'switch', title: 'My queries only', initialValue: true},\n {id: 'range', type: 'rangeDatePicker', title: 'Period'},\n {\n id: 'engine',\n type: 'checkboxGroup',\n title: 'Engine',\n initialValue: [],\n items: [\n {id: 'yql', title: 'YQL'},\n {id: 'sql', title: 'SQL'},\n ],\n },\n];\n\nconst fields: QueryListVisibleFieldsConfig<SavedQuery>['fields'] = [\n {id: 'savedAt', title: 'Saved date'},\n {id: 'engine', title: 'Engine'},\n {id: 'author', title: 'Author'},\n];\n\nconst meta: Meta<typeof SavedQueries> = {\n title: 'Widgets/SavedQueries',\n component: SavedQueries,\n tags: ['autodocs'],\n parameters: {layout: 'padded'},\n};\n\nexport default meta;\ntype Story = StoryObj<typeof SavedQueries>;\n\nconst SavedQueriesStory = () => {\n const [items, setItems] = useState(BASE_ITEMS);\n const [search, setSearch] = useState({value: '', fullSearch: false});\n const [visibleFields, setVisibleFields] = useState<QueryListFieldKey<SavedQuery>[]>([\n 'savedAt',\n 'engine',\n 'author',\n ]);\n const [comparedRowIds, setComparedRowIds] = useState<(number | string)[]>([]);\n const [editingRowId, setEditingRowId] = useState<number | string>();\n\n const filteredItems = useMemo(() => {\n if (!search.value) return items;\n\n const value = search.value.toLowerCase();\n return items.filter((item) => {\n if ('header' in item) return false;\n\n return search.fullSearch\n ? item.title.toLowerCase().includes(value) ||\n item.query?.toLowerCase().includes(value)\n : item.title.toLowerCase().includes(value);\n });\n }, [items, search]);\n\n const updateTitle = (item: SavedQuery, title: string) => {\n setItems((currentItems) =>\n currentItems.map((currentItem) =>\n 'id' in currentItem && currentItem.id === item.id\n ? {...currentItem, title}\n : currentItem,\n ),\n );\n setEditingRowId(undefined);\n };\n\n return (\n <div style={{width: 360, height: 560}}>\n <SavedQueries\n items={filteredItems}\n search={{...search, hasClear: true, onUpdate: setSearch}}\n filter={{\n fields: filterFields,\n onApply: action('onFilterApply'),\n onReset: action('onFilterReset'),\n }}\n visibleFields={{value: visibleFields, fields, onChange: setVisibleFields}}\n editing={{\n rowId: editingRowId,\n onSubmit: updateTitle,\n onCancel: () => setEditingRowId(undefined),\n }}\n comparison={{\n enabled: Boolean(comparedRowIds.length),\n comparedRowIds,\n onChange: (item, selected) => {\n setComparedRowIds((currentIds) =>\n selected\n ? [...currentIds.filter((id) => id !== item.id).slice(-1), item.id]\n : currentIds.filter((id) => id !== item.id),\n );\n },\n onCancel: () => setComparedRowIds([]),\n onCompare: () => action('onCompare')(comparedRowIds),\n }}\n getRowActions={(item) => [\n {text: 'Copy to', onClick: () => action('onCopyTo')(item)},\n {text: 'Show operations', onClick: () => action('onShowOperations')(item)},\n {text: 'Edit', onClick: () => setEditingRowId(item.id)},\n {\n text: 'Compare with baseline',\n onClick: () => setComparedRowIds([item.id]),\n },\n {text: 'Delete', theme: 'danger', onClick: () => action('onDelete')(item)},\n ]}\n />\n </div>\n );\n};\n\ntype ExtendedSavedQuery = SavedQuery & {team: string};\n\nconst CustomAuthorStory = () => {\n const items: QueryListItem<ExtendedSavedQuery>[] = BASE_ITEMS.map((item) =>\n 'header' in item ? item : {...item, team: 'Analytics'},\n );\n const [search, setSearch] = useState({value: '', fullSearch: false});\n\n return (\n <div style={{width: 360, height: 280}}>\n <SavedQueries\n items={items}\n search={{...search, hasClear: true, onUpdate: setSearch}}\n renderAuthor={(item) => <Text color=\"complementary\">{item.team}</Text>}\n />\n </div>\n );\n};\n\nconst EmptyStory = () => {\n const [search, setSearch] = useState({value: '', fullSearch: false});\n\n return (\n <div style={{width: 360, height: 280}}>\n <SavedQueries items={[]} search={{...search, hasClear: true, onUpdate: setSearch}} />\n </div>\n );\n};\n\nexport const Default: Story = {render: () => <SavedQueriesStory />};\nexport const CustomAuthor: Story = {render: () => <CustomAuthorStory />};\nexport const Empty: Story = {render: () => <EmptyStory />};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -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
|
|
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;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["attachments", "onEdit", "onDelete", "onRevert", "wasAddedIds", "wasEditedIds", "editingIds", "renderEditForm", "className", "isDeleted"];
|
|
3
|
+
var _excluded = ["attachments", "onEdit", "onDelete", "onRevert", "wasAddedIds", "wasEditedIds", "editingIds", "renderEditForm", "className", "isDeleted", "onItemClick"];
|
|
4
4
|
import "core-js/modules/es.array.iterator.js";
|
|
5
5
|
import "core-js/modules/es.object.to-string.js";
|
|
6
6
|
import "core-js/modules/es.set.js";
|
|
@@ -16,6 +16,7 @@ import "core-js/modules/web.dom-collections.iterator.js";
|
|
|
16
16
|
import React, { useMemo } from 'react';
|
|
17
17
|
import { Flex, List } from '@gravity-ui/uikit';
|
|
18
18
|
import { AttachmentItem } from "./internal/AttachmentItem/AttachmentItem";
|
|
19
|
+
import { isInteractiveTarget } from "./helpers/isInteractiveTarget";
|
|
19
20
|
import "./AttachmentList.css";
|
|
20
21
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
21
22
|
export var AttachmentList = function AttachmentList(_ref) {
|
|
@@ -29,6 +30,7 @@ export var AttachmentList = function AttachmentList(_ref) {
|
|
|
29
30
|
renderEditForm = _ref.renderEditForm,
|
|
30
31
|
className = _ref.className,
|
|
31
32
|
isDeleted = _ref.isDeleted,
|
|
33
|
+
onItemClick = _ref.onItemClick,
|
|
32
34
|
listProps = _objectWithoutProperties(_ref, _excluded);
|
|
33
35
|
var addedIdsSet = useMemo(function () {
|
|
34
36
|
return new Set(wasAddedIds);
|
|
@@ -39,6 +41,11 @@ export var AttachmentList = function AttachmentList(_ref) {
|
|
|
39
41
|
var editingIdsSet = useMemo(function () {
|
|
40
42
|
return new Set(editingIds);
|
|
41
43
|
}, [editingIds]);
|
|
44
|
+
var handleItemClick = function handleItemClick(item, index, fromKeyboard, event) {
|
|
45
|
+
if (editingIdsSet.has(item.id)) return;
|
|
46
|
+
if (isInteractiveTarget(event === null || event === void 0 ? void 0 : event.target)) return;
|
|
47
|
+
onItemClick === null || onItemClick === void 0 || onItemClick(item, index, fromKeyboard, event);
|
|
48
|
+
};
|
|
42
49
|
return /*#__PURE__*/_jsx(Flex, {
|
|
43
50
|
className: className,
|
|
44
51
|
width: "100%",
|
|
@@ -47,6 +54,7 @@ export var AttachmentList = function AttachmentList(_ref) {
|
|
|
47
54
|
filterable: false,
|
|
48
55
|
virtualized: false,
|
|
49
56
|
items: attachments,
|
|
57
|
+
onItemClick: handleItemClick,
|
|
50
58
|
renderItem: function renderItem(attachment) {
|
|
51
59
|
if (editingIdsSet.has(attachment.id)) {
|
|
52
60
|
return renderEditForm === null || renderEditForm === void 0 ? void 0 : renderEditForm(attachment);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","Flex","List","AttachmentItem","jsx","_jsx","AttachmentList","_ref","attachments","onEdit","onDelete","onRevert","wasAddedIds","wasEditedIds","editingIds","renderEditForm","className","isDeleted","listProps","_objectWithoutProperties","_excluded","addedIdsSet","Set","editedIdsSet","editingIdsSet","width","height","children","_objectSpread","filterable","virtualized","items","renderItem","attachment","
|
|
1
|
+
{"version":3,"names":["React","useMemo","Flex","List","AttachmentItem","isInteractiveTarget","jsx","_jsx","AttachmentList","_ref","attachments","onEdit","onDelete","onRevert","wasAddedIds","wasEditedIds","editingIds","renderEditForm","className","isDeleted","onItemClick","listProps","_objectWithoutProperties","_excluded","addedIdsSet","Set","editedIdsSet","editingIdsSet","handleItemClick","item","index","fromKeyboard","event","has","id","target","width","height","children","_objectSpread","filterable","virtualized","items","renderItem","attachment","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":";;;;;;;;;;;;;;;AAAA,OAAOA,KAAK,IAAcC,OAAO,QAAO,OAAO;AAC/C,SAAQC,IAAI,EAAEC,IAAI,QAAkB,mBAAmB;AACvD,SAAQC,cAAc;AACtB,SAAQC,mBAAmB;AAC3B;AAA+B,SAAAC,GAAA,IAAAC,IAAA;AAqB/B,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAaA;EAAA,IAZvBC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IACXC,MAAM,GAAAF,IAAA,CAANE,MAAM;IACNC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IACRC,WAAW,GAAAL,IAAA,CAAXK,WAAW;IACXC,YAAY,GAAAN,IAAA,CAAZM,YAAY;IACZC,UAAU,GAAAP,IAAA,CAAVO,UAAU;IACVC,cAAc,GAAAR,IAAA,CAAdQ,cAAc;IACdC,SAAS,GAAAT,IAAA,CAATS,SAAS;IACTC,SAAS,GAAAV,IAAA,CAATU,SAAS;IACTC,WAAW,GAAAX,IAAA,CAAXW,WAAW;IACRC,SAAS,GAAAC,wBAAA,CAAAb,IAAA,EAAAc,SAAA;EAEZ,IAAMC,WAAW,GAAGvB,OAAO,CAAC;IAAA,OAAM,IAAIwB,GAAG,CAACX,WAAW,CAAC;EAAA,GAAE,CAACA,WAAW,CAAC,CAAC;EACtE,IAAMY,YAAY,GAAGzB,OAAO,CAAC;IAAA,OAAM,IAAIwB,GAAG,CAACV,YAAY,CAAC;EAAA,GAAE,CAACA,YAAY,CAAC,CAAC;EACzE,IAAMY,aAAa,GAAG1B,OAAO,CAAC;IAAA,OAAM,IAAIwB,GAAG,CAACT,UAAU,CAAC;EAAA,GAAE,CAACA,UAAU,CAAC,CAAC;EAEtE,IAAMY,eAAmD,GAAG,SAAtDA,eAAmDA,CACrDC,IAAI,EACJC,KAAK,EACLC,YAAY,EACZC,KAAK,EACJ;IACD,IAAIL,aAAa,CAACM,GAAG,CAACJ,IAAI,CAACK,EAAE,CAAC,EAAE;IAChC,IAAI7B,mBAAmB,CAAC2B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEG,MAAM,CAAC,EAAE;IACxCf,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAGS,IAAI,EAAEC,KAAK,EAAEC,YAAY,EAAEC,KAAK,CAAC;EACnD,CAAC;EAED,oBACIzB,IAAA,CAACL,IAAI;IAACgB,SAAS,EAAEA,SAAU;IAACkB,KAAK,EAAC,MAAM;IAACC,MAAM,EAAC,MAAM;IAAAC,QAAA,eAClD/B,IAAA,CAACJ,IAAI,EAAAoC,aAAA;MACDC,UAAU,EAAE,KAAM;MAClBC,WAAW,EAAE,KAAM;MACnBC,KAAK,EAAEhC,WAAY;MACnBU,WAAW,EAAEQ,eAAgB;MAC7Be,UAAU,EAAE,SAAZA,UAAUA,CAAGC,UAAU,EAAK;QACxB,IAAIjB,aAAa,CAACM,GAAG,CAACW,UAAU,CAACV,EAAE,CAAC,EAAE;UAClC,OAAOjB,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAG2B,UAAU,CAAC;QACvC;QAEA,oBACIrC,IAAA,CAACH,cAAc;UACXwC,UAAU,EAAEA,UAAW;UACvBC,QAAQ,EAAErB,WAAW,CAACS,GAAG,CAACW,UAAU,CAACV,EAAE,CAAE;UACzCY,SAAS,EAAEpB,YAAY,CAACO,GAAG,CAACW,UAAU,CAACV,EAAE,CAAE;UAC3CvB,MAAM,EAAEA,MAAO;UACfE,QAAQ,EAAEA,QAAS;UACnBD,QAAQ,EAAEA,QAAS;UACnBO,SAAS,EAAEA;QAAU,CACxB,CAAC;MAEV;IAAE,GACEE,SAAS,CAChB;EAAC,CACA,CAAC;AAEf,CAAC","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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
30
|
-
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
46
|
-
|
|
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
|
-
|
|
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;
|
|
@@ -127,6 +127,7 @@ var InteractiveAttachmentList = function InteractiveAttachmentList(props) {
|
|
|
127
127
|
});
|
|
128
128
|
});
|
|
129
129
|
},
|
|
130
|
+
onItemClick: console.info,
|
|
130
131
|
onEdit: function onEdit(attachment) {
|
|
131
132
|
var _props$onEdit;
|
|
132
133
|
(_props$onEdit = props.onEdit) === null || _props$onEdit === void 0 || _props$onEdit.call(props, attachment);
|
|
@@ -208,6 +209,7 @@ var EditableAttachmentList = function EditableAttachmentList(props) {
|
|
|
208
209
|
}));
|
|
209
210
|
}
|
|
210
211
|
},
|
|
212
|
+
onItemClick: console.info,
|
|
211
213
|
renderEditForm: function renderEditForm(attachment) {
|
|
212
214
|
var isLink = typeof attachment.link === 'string';
|
|
213
215
|
if (isLink) {
|
|
@@ -260,6 +262,7 @@ var SortableAttachmentList = function SortableAttachmentList(props) {
|
|
|
260
262
|
setOrderedAttachments = _useState12[1];
|
|
261
263
|
return /*#__PURE__*/_jsx(AttachmentList, _objectSpread(_objectSpread({}, props), {}, {
|
|
262
264
|
attachments: orderedAttachments,
|
|
265
|
+
onItemClick: console.info,
|
|
263
266
|
onSortEnd: function onSortEnd(_ref) {
|
|
264
267
|
var _props$onSortEnd;
|
|
265
268
|
var oldIndex = _ref.oldIndex,
|
|
@@ -1 +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":[]}
|
|
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","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","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 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,5 @@
|
|
|
1
|
+
export var INTERACITVE_SELECTOR = 'a, button, input, select, textarea, label, [role="button"], [role="link"], [role="menuitem"], [contenteditable="true"], [tabindex]:not([tabindex="-1"])';
|
|
2
|
+
export var isInteractiveTarget = function isInteractiveTarget(target) {
|
|
3
|
+
return target instanceof Element && Boolean(target.closest(INTERACITVE_SELECTOR));
|
|
4
|
+
};
|
|
5
|
+
// #sourceMappingURL=isInteractiveTarget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["INTERACITVE_SELECTOR","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":"AAAA,OAAO,IAAMA,oBAAoB,GAC7B,yJAAyJ;AAE7J,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,MAAsC,EAAK;EAC3E,OAAOA,MAAM,YAAYC,OAAO,IAAIC,OAAO,CAACF,MAAM,CAACG,OAAO,CAACL,oBAAoB,CAAC,CAAC;AACrF,CAAC","ignoreList":[]}
|
|
@@ -2,9 +2,9 @@ import "core-js/modules/es.symbol.js";
|
|
|
2
2
|
import "core-js/modules/es.symbol.description.js";
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Button, Flex, Icon, Link, Text } from '@gravity-ui/uikit';
|
|
5
|
+
import { Folder } from '@gravity-ui/illustrations';
|
|
5
6
|
import { Plus } from '@gravity-ui/icons';
|
|
6
7
|
import cn from 'bem-cn-lite';
|
|
7
|
-
import image from "./assets/empty-attachments.svg";
|
|
8
8
|
import i18n from "./i18n";
|
|
9
9
|
import "./AttachmentListPlaceholder.css";
|
|
10
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -30,9 +30,9 @@ export var AttachmentListPlaceholder = function AttachmentListPlaceholder(_ref)
|
|
|
30
30
|
height: "100%",
|
|
31
31
|
className: block(null, className),
|
|
32
32
|
"data-qa": qa,
|
|
33
|
-
children: [/*#__PURE__*/_jsx(
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
children: [/*#__PURE__*/_jsx(Folder, {
|
|
34
|
+
height: 100,
|
|
35
|
+
width: 100
|
|
36
36
|
}), /*#__PURE__*/_jsxs(Flex, {
|
|
37
37
|
gap: 1,
|
|
38
38
|
direction: "column",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Button","Flex","Icon","Link","Text","
|
|
1
|
+
{"version":3,"names":["React","Button","Flex","Icon","Link","Text","Folder","Plus","cn","i18n","jsx","_jsx","jsxs","_jsxs","block","AttachmentListPlaceholder","_ref","customerTitle","title","customerDescription","description","linkForDoc","customerLinkText","linkText","className","onAddFile","onAddLink","qa","direction","alignItems","justifyContent","gap","width","height","children","variant","href","onClick","data","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":[]}
|
|
@@ -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;
|
|
@@ -30,6 +30,7 @@ export var Attachments = function Attachments(_ref) {
|
|
|
30
30
|
placeholderProps = _ref.placeholderProps,
|
|
31
31
|
attachmentListProps = _ref.attachmentListProps,
|
|
32
32
|
onChange = _ref.onChange,
|
|
33
|
+
onItemClick = _ref.onItemClick,
|
|
33
34
|
customerAttachments = _ref.attachments,
|
|
34
35
|
customerDeletedAttachments = _ref.deletedAttachments;
|
|
35
36
|
var _useState = useState('Current'),
|
|
@@ -255,6 +256,7 @@ export var Attachments = function Attachments(_ref) {
|
|
|
255
256
|
return setCurrentTab(tab);
|
|
256
257
|
},
|
|
257
258
|
children: [/*#__PURE__*/_jsxs(TabList, {
|
|
259
|
+
className: block('tab-list'),
|
|
258
260
|
children: [/*#__PURE__*/_jsxs(Tab, {
|
|
259
261
|
className: block('tab'),
|
|
260
262
|
value: "Current",
|
|
@@ -299,6 +301,7 @@ export var Attachments = function Attachments(_ref) {
|
|
|
299
301
|
onDelete: function onDelete(attach) {
|
|
300
302
|
return handleDelete(attach.id);
|
|
301
303
|
},
|
|
304
|
+
onItemClick: onItemClick,
|
|
302
305
|
renderEditForm: function renderEditForm(attach) {
|
|
303
306
|
var isLink = typeof attach.link === 'string';
|
|
304
307
|
if (isLink) {
|
|
@@ -330,6 +333,9 @@ export var Attachments = function Attachments(_ref) {
|
|
|
330
333
|
onAddFile: handleAddEmptyFile,
|
|
331
334
|
onAddLink: handleAddEmptyLink
|
|
332
335
|
}, placeholderProps)), Boolean(attachList.length) && /*#__PURE__*/_jsxs(Flex, {
|
|
336
|
+
spacing: {
|
|
337
|
+
px: 4
|
|
338
|
+
},
|
|
333
339
|
gap: 2,
|
|
334
340
|
children: [/*#__PURE__*/_jsxs(Button, {
|
|
335
341
|
onClick: handleAddEmptyFile,
|
|
@@ -363,7 +369,8 @@ export var Attachments = function Attachments(_ref) {
|
|
|
363
369
|
attachments: deletedAttachList,
|
|
364
370
|
onRevert: function onRevert(attach) {
|
|
365
371
|
return handleRevertDelete(attach.id);
|
|
366
|
-
}
|
|
372
|
+
},
|
|
373
|
+
onItemClick: onItemClick
|
|
367
374
|
}))
|
|
368
375
|
})
|
|
369
376
|
})]
|