@cloud-ru/ds-ai-code-diff 0.0.1-preview-cbb08c35.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/README.md +17 -17
- package/dist/cjs/AiCodeDiff.d.ts +21 -1
- package/dist/cjs/AiCodeDiff.js +1 -1
- package/dist/cjs/index.d.ts +0 -1
- package/dist/cjs/index.js +0 -1
- package/dist/esm/AiCodeDiff.d.ts +21 -1
- package/dist/esm/AiCodeDiff.js +2 -2
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.js +0 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/AiCodeDiff.tsx +28 -7
- package/src/index.ts +2 -3
- package/dist/cjs/types.d.ts +0 -15
- package/dist/cjs/types.js +0 -2
- package/dist/esm/types.d.ts +0 -15
- package/dist/esm/types.js +0 -1
- package/src/types.ts +0 -18
package/CHANGELOG.md
CHANGED
|
@@ -2,3 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
+
|
|
6
|
+
# 1.1.0 (2026-11-02)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- **AIX-487:** ai-code-diff component ([6ae7bb7](https://github.com/cloud-ru-tech/snack-v2/commit/6ae7bb74a9c2b4166b2d96c444d9d065749fb360))
|
|
11
|
+
- **AIX-487:** ai-history-line component ([8f9d550](https://github.com/cloud-ru-tech/snack-v2/commit/8f9d550beb53b91d945816e48b6a280c3ad677b8))
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
`@cloud-ru/ds-ai-code-diff` — Количество добавленных и удаленных строк кода
|
|
4
4
|
|
|
5
|
-
`AiCodeDiff` показывает сводку изменений: число добавленных и удалённых строк. Компонент не считает diff и не открывает просмотр кода —
|
|
5
|
+
`AiCodeDiff` показывает сводку изменений: число добавленных и удалённых строк. Компонент не считает diff и не открывает просмотр кода — целые количества передаёт потребитель, знаки `+` и `-` ставит компонент.
|
|
6
6
|
|
|
7
7
|
## Когда использовать
|
|
8
8
|
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
|
|
14
14
|
- Нужно показать сами строки кода:
|
|
15
15
|
- соберите просмотр отдельно, `AiCodeDiff` остаётся подписью.
|
|
16
|
-
- Нужно сократить большие числа или
|
|
17
|
-
-
|
|
16
|
+
- Нужно сократить большие числа (`1.2k`) или показать дробное значение:
|
|
17
|
+
- `added` и `removed` — целые неотрицательные числа, компонент показывает их как есть.
|
|
18
18
|
|
|
19
19
|
## Анатомия
|
|
20
20
|
|
|
@@ -34,7 +34,7 @@ pnpm add @cloud-ru/ds-ai-code-diff
|
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
```ts
|
|
37
|
-
import { AiCodeDiff } from '@cloud-ru/ds-ai-code-diff'
|
|
37
|
+
import { AiCodeDiff } from '@cloud-ru/ds-ai-code-diff';
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
## Примеры использования
|
|
@@ -44,27 +44,27 @@ import { AiCodeDiff } from '@cloud-ru/ds-ai-code-diff'
|
|
|
44
44
|
m и s на одних и тех же строках
|
|
45
45
|
|
|
46
46
|
```tsx
|
|
47
|
-
import { AiCodeDiff, SIZE } from '@cloud-ru/ds-ai-code-diff'
|
|
47
|
+
import { AiCodeDiff, SIZE } from '@cloud-ru/ds-ai-code-diff';
|
|
48
48
|
|
|
49
49
|
export function Sizes() {
|
|
50
50
|
return (
|
|
51
51
|
<div style={{ display: 'flex', gap: 12, flexWrap: 'wrap', alignItems: 'center' }}>
|
|
52
|
-
<AiCodeDiff added=
|
|
53
|
-
<AiCodeDiff added=
|
|
52
|
+
<AiCodeDiff added={83} removed={26} size={SIZE.M} />
|
|
53
|
+
<AiCodeDiff added={83} removed={26} size={SIZE.S} />
|
|
54
54
|
</div>
|
|
55
|
-
)
|
|
55
|
+
);
|
|
56
56
|
}
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
### Длинные значения
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
Крупные целые числа
|
|
62
62
|
|
|
63
63
|
```tsx
|
|
64
|
-
import { AiCodeDiff } from '@cloud-ru/ds-ai-code-diff'
|
|
64
|
+
import { AiCodeDiff } from '@cloud-ru/ds-ai-code-diff';
|
|
65
65
|
|
|
66
66
|
export function LongCounts() {
|
|
67
|
-
return <AiCodeDiff added=
|
|
67
|
+
return <AiCodeDiff added={1200} removed={48} />;
|
|
68
68
|
}
|
|
69
69
|
```
|
|
70
70
|
|
|
@@ -73,10 +73,10 @@ export function LongCounts() {
|
|
|
73
73
|
По умолчанию «/», его можно заменить
|
|
74
74
|
|
|
75
75
|
```tsx
|
|
76
|
-
import { AiCodeDiff } from '@cloud-ru/ds-ai-code-diff'
|
|
76
|
+
import { AiCodeDiff } from '@cloud-ru/ds-ai-code-diff';
|
|
77
77
|
|
|
78
78
|
export function CustomSeparator() {
|
|
79
|
-
return <AiCodeDiff added=
|
|
79
|
+
return <AiCodeDiff added={83} removed={26} separator='·' />;
|
|
80
80
|
}
|
|
81
81
|
```
|
|
82
82
|
|
|
@@ -86,12 +86,12 @@ export function CustomSeparator() {
|
|
|
86
86
|
|
|
87
87
|
| Prop | Type | Default | Description |
|
|
88
88
|
|------|------|---------|-------------|
|
|
89
|
-
| `added` | `
|
|
89
|
+
| `added` | `number` | — | Количество добавленных строк. Целое неотрицательное число, знак `+` ставит компонент. |
|
|
90
90
|
| `className` | `string` | — | |
|
|
91
91
|
| `data-test-id` | `string` | — | |
|
|
92
|
-
| `removed` | `
|
|
93
|
-
| `separator` | `string` | `/` | Разделитель между added и removed.
|
|
94
|
-
| `size` | `"m"` \| `"s"` | `m` | Типографика.
|
|
92
|
+
| `removed` | `number` | — | Количество удалённых строк. Целое неотрицательное число, знак `-` ставит компонент. |
|
|
93
|
+
| `separator` | `string` | `/` | Разделитель между added и removed. |
|
|
94
|
+
| `size` | `"m"` \| `"s"` | `m` | Типографика. |
|
|
95
95
|
|
|
96
96
|
#### Related types
|
|
97
97
|
|
package/dist/cjs/AiCodeDiff.d.ts
CHANGED
|
@@ -1,2 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ValueOf } from '@cloud-ru/ds-utils';
|
|
2
|
+
import { SIZE } from './constants';
|
|
3
|
+
export type Size = ValueOf<typeof SIZE>;
|
|
4
|
+
export type AiCodeDiffProps = {
|
|
5
|
+
/** Количество добавленных строк. Целое неотрицательное число, знак `+` ставит компонент. */
|
|
6
|
+
added: number;
|
|
7
|
+
/** Количество удалённых строк. Целое неотрицательное число, знак `-` ставит компонент. */
|
|
8
|
+
removed: number;
|
|
9
|
+
/**
|
|
10
|
+
* Типографика.
|
|
11
|
+
* @default m
|
|
12
|
+
*/
|
|
13
|
+
size?: Size;
|
|
14
|
+
/**
|
|
15
|
+
* Разделитель между added и removed.
|
|
16
|
+
* @default /
|
|
17
|
+
*/
|
|
18
|
+
separator?: string;
|
|
19
|
+
className?: string;
|
|
20
|
+
'data-test-id'?: string;
|
|
21
|
+
};
|
|
2
22
|
export declare function AiCodeDiff({ added, removed, size, separator, className, 'data-test-id': dataTestId, }: AiCodeDiffProps): import("react/jsx-runtime").JSX.Element;
|
package/dist/cjs/AiCodeDiff.js
CHANGED
|
@@ -9,5 +9,5 @@ const classnames_1 = __importDefault(require("classnames"));
|
|
|
9
9
|
const constants_1 = require("./constants");
|
|
10
10
|
const styles_module_scss_1 = __importDefault(require('./styles.module.css'));
|
|
11
11
|
function AiCodeDiff({ added, removed, size = constants_1.SIZE.M, separator = '/', className, 'data-test-id': dataTestId, }) {
|
|
12
|
-
return ((0, jsx_runtime_1.jsxs)("span", { className: (0, classnames_1.default)(styles_module_scss_1.default.root, className), "data-size": size, "data-test-id": dataTestId, children: [(0, jsx_runtime_1.
|
|
12
|
+
return ((0, jsx_runtime_1.jsxs)("span", { className: (0, classnames_1.default)(styles_module_scss_1.default.root, className), "data-size": size, "data-test-id": dataTestId, children: [(0, jsx_runtime_1.jsxs)("span", { className: styles_module_scss_1.default.added, "data-test-id": constants_1.TEST_IDS.added, children: ["+", added] }), (0, jsx_runtime_1.jsx)("span", { className: styles_module_scss_1.default.separator, "data-test-id": constants_1.TEST_IDS.separator, children: separator }), (0, jsx_runtime_1.jsxs)("span", { className: styles_module_scss_1.default.removed, "data-test-id": constants_1.TEST_IDS.removed, children: ["-", removed] })] }));
|
|
13
13
|
}
|
package/dist/cjs/index.d.ts
CHANGED
package/dist/cjs/index.js
CHANGED
|
@@ -16,4 +16,3 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./AiCodeDiff"), exports);
|
|
18
18
|
__exportStar(require("./constants"), exports);
|
|
19
|
-
__exportStar(require("./types"), exports);
|
package/dist/esm/AiCodeDiff.d.ts
CHANGED
|
@@ -1,2 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ValueOf } from '@cloud-ru/ds-utils';
|
|
2
|
+
import { SIZE } from './constants.js';
|
|
3
|
+
export type Size = ValueOf<typeof SIZE>;
|
|
4
|
+
export type AiCodeDiffProps = {
|
|
5
|
+
/** Количество добавленных строк. Целое неотрицательное число, знак `+` ставит компонент. */
|
|
6
|
+
added: number;
|
|
7
|
+
/** Количество удалённых строк. Целое неотрицательное число, знак `-` ставит компонент. */
|
|
8
|
+
removed: number;
|
|
9
|
+
/**
|
|
10
|
+
* Типографика.
|
|
11
|
+
* @default m
|
|
12
|
+
*/
|
|
13
|
+
size?: Size;
|
|
14
|
+
/**
|
|
15
|
+
* Разделитель между added и removed.
|
|
16
|
+
* @default /
|
|
17
|
+
*/
|
|
18
|
+
separator?: string;
|
|
19
|
+
className?: string;
|
|
20
|
+
'data-test-id'?: string;
|
|
21
|
+
};
|
|
2
22
|
export declare function AiCodeDiff({ added, removed, size, separator, className, 'data-test-id': dataTestId, }: AiCodeDiffProps): import("react/jsx-runtime").JSX.Element;
|
package/dist/esm/AiCodeDiff.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
import { SIZE, TEST_IDS } from './constants.js';
|
|
4
4
|
import styles from './styles.module.css';
|
|
5
5
|
export function AiCodeDiff({ added, removed, size = SIZE.M, separator = '/', className, 'data-test-id': dataTestId, }) {
|
|
6
|
-
return (_jsxs("span", { className: cn(styles.root, className), "data-size": size, "data-test-id": dataTestId, children: [
|
|
6
|
+
return (_jsxs("span", { className: cn(styles.root, className), "data-size": size, "data-test-id": dataTestId, children: [_jsxs("span", { className: styles.added, "data-test-id": TEST_IDS.added, children: ["+", added] }), _jsx("span", { className: styles.separator, "data-test-id": TEST_IDS.separator, children: separator }), _jsxs("span", { className: styles.removed, "data-test-id": TEST_IDS.removed, children: ["-", removed] })] }));
|
|
7
7
|
}
|
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.js
CHANGED