@nkzw/codiff-core 1.14.0 → 1.16.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/dist/app/components/ReviewCodeView.d.ts +4 -1
- package/dist/app/hooks/code-editing-store.d.ts +68 -0
- package/dist/app/hooks/useCodeEditing.d.ts +34 -0
- package/dist/config/types.d.ts +4 -0
- package/dist/lib/code-view-options.d.ts +1 -2
- package/dist/lib/narrative-walkthrough-diff.d.ts +5 -1
- package/dist/lib/narrative-walkthrough-diff.mjs +4 -2
- package/dist/lib/narrative-walkthrough.d.ts +1 -1
- package/dist/react.mjs +836 -189
- package/dist/style.css +106 -27
- package/dist/types.d.ts +15 -0
- package/package.json +3 -3
package/dist/style.css
CHANGED
|
@@ -5350,6 +5350,17 @@ html[data-codiff-platform="darwin"] .workspace-top-bar {
|
|
|
5350
5350
|
overflow: hidden;
|
|
5351
5351
|
}
|
|
5352
5352
|
|
|
5353
|
+
@supports (text-box: trim-both cap alphabetic) {
|
|
5354
|
+
.review-top-bar-repository-head, .review-top-bar-repository-tail {
|
|
5355
|
+
text-box: trim-both cap alphabetic;
|
|
5356
|
+
padding-block: .5em;
|
|
5357
|
+
}
|
|
5358
|
+
|
|
5359
|
+
.review-top-bar-source-label {
|
|
5360
|
+
text-box: trim-both cap alphabetic;
|
|
5361
|
+
}
|
|
5362
|
+
}
|
|
5363
|
+
|
|
5353
5364
|
.review-top-bar-branch {
|
|
5354
5365
|
color: var(--muted);
|
|
5355
5366
|
corner-shape: squircle;
|
|
@@ -5435,7 +5446,7 @@ a.review-top-bar-repository:focus-visible, a.review-top-bar-source:focus-visible
|
|
|
5435
5446
|
color: var(--muted);
|
|
5436
5447
|
corner-shape: squircle;
|
|
5437
5448
|
cursor: pointer;
|
|
5438
|
-
font: 600 11px/1 var(--font-sans);
|
|
5449
|
+
font: 600 11px/1.35 var(--font-sans);
|
|
5439
5450
|
white-space: nowrap;
|
|
5440
5451
|
background: none;
|
|
5441
5452
|
border: 0;
|
|
@@ -7268,17 +7279,57 @@ html[data-codiff-platform="darwin"] .sidebar {
|
|
|
7268
7279
|
box-shadow: inset 0 -1px 0 var(--file-border);
|
|
7269
7280
|
color: var(--text);
|
|
7270
7281
|
font: 13px/1.35 var(--font-sans);
|
|
7271
|
-
|
|
7282
|
+
height: var(--codiff-file-header-height, 54px);
|
|
7283
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
7272
7284
|
grid-auto-columns: max-content;
|
|
7273
7285
|
grid-auto-flow: column;
|
|
7274
7286
|
align-items: center;
|
|
7275
7287
|
gap: 10px;
|
|
7276
7288
|
min-width: 0;
|
|
7277
|
-
height: 54px;
|
|
7278
7289
|
padding: 9px 10px;
|
|
7279
7290
|
display: grid;
|
|
7280
7291
|
}
|
|
7281
7292
|
|
|
7293
|
+
.codiff-file-details {
|
|
7294
|
+
align-items: center;
|
|
7295
|
+
gap: 10px;
|
|
7296
|
+
min-width: 0;
|
|
7297
|
+
display: flex;
|
|
7298
|
+
}
|
|
7299
|
+
|
|
7300
|
+
.codiff-edit-revert-button {
|
|
7301
|
+
width: 64px;
|
|
7302
|
+
}
|
|
7303
|
+
|
|
7304
|
+
.compact-file-headers .codiff-file-header:has(.codiff-file-details) {
|
|
7305
|
+
grid-template-rows: minmax(0, 1fr) 30px;
|
|
7306
|
+
grid-template-columns: minmax(0, 1fr);
|
|
7307
|
+
grid-auto-flow: row;
|
|
7308
|
+
gap: 6px;
|
|
7309
|
+
}
|
|
7310
|
+
|
|
7311
|
+
.compact-file-headers .codiff-file-details {
|
|
7312
|
+
scrollbar-width: none;
|
|
7313
|
+
justify-content: safe flex-end;
|
|
7314
|
+
gap: 6px;
|
|
7315
|
+
margin: -4px;
|
|
7316
|
+
padding: 4px;
|
|
7317
|
+
overflow-x: auto;
|
|
7318
|
+
}
|
|
7319
|
+
|
|
7320
|
+
.compact-file-headers .codiff-file-details .codiff-button, .compact-file-headers .codiff-file-details .codiff-viewed-button, .compact-file-headers .codiff-file-details .codiff-load-button {
|
|
7321
|
+
padding-inline: 8px;
|
|
7322
|
+
}
|
|
7323
|
+
|
|
7324
|
+
.compact-file-headers .codiff-copy-path-button, .compact-file-headers .codiff-open-file-button {
|
|
7325
|
+
width: 24px;
|
|
7326
|
+
height: 20px;
|
|
7327
|
+
}
|
|
7328
|
+
|
|
7329
|
+
.compact-file-headers .codiff-file-details > .codiff-line-count, .compact-file-headers .codiff-file-details > .codiff-section-badge, .compact-file-headers .codiff-file-details > .codiff-generated-badge {
|
|
7330
|
+
flex: none;
|
|
7331
|
+
}
|
|
7332
|
+
|
|
7282
7333
|
.codiff-walkthrough-header-item {
|
|
7283
7334
|
box-shadow: none !important;
|
|
7284
7335
|
background: none !important;
|
|
@@ -7309,7 +7360,7 @@ html[data-codiff-platform="darwin"] .sidebar {
|
|
|
7309
7360
|
color: var(--muted);
|
|
7310
7361
|
}
|
|
7311
7362
|
|
|
7312
|
-
.codiff-header-toggle, .codiff-source-description-collapse-button, .codiff-file-comment-button, .codiff-markdown-button, .codiff-button, .codiff-viewed-button, .codiff-copy-path-button {
|
|
7363
|
+
.codiff-header-toggle, .codiff-source-description-collapse-button, .codiff-file-comment-button, .codiff-markdown-button, .codiff-button, .codiff-viewed-button, .codiff-copy-path-button, .codiff-open-file-button {
|
|
7313
7364
|
-webkit-app-region: no-drag;
|
|
7314
7365
|
color: var(--text);
|
|
7315
7366
|
cursor: pointer;
|
|
@@ -7321,7 +7372,7 @@ html[data-codiff-platform="darwin"] .sidebar {
|
|
|
7321
7372
|
display: inline-flex;
|
|
7322
7373
|
}
|
|
7323
7374
|
|
|
7324
|
-
.codiff-copy-path-button {
|
|
7375
|
+
.codiff-copy-path-button, .codiff-open-file-button {
|
|
7325
7376
|
color: var(--copy-icon);
|
|
7326
7377
|
corner-shape: squircle;
|
|
7327
7378
|
opacity: 0;
|
|
@@ -7330,14 +7381,14 @@ html[data-codiff-platform="darwin"] .sidebar {
|
|
|
7330
7381
|
width: 30px;
|
|
7331
7382
|
height: 30px;
|
|
7332
7383
|
padding: 0;
|
|
7333
|
-
transition: background .
|
|
7384
|
+
transition: background .16s, box-shadow .25s, color .12s, opacity .12s, transform .25s cubic-bezier(.34, 1.56, .64, 1);
|
|
7334
7385
|
}
|
|
7335
7386
|
|
|
7336
|
-
.codiff-file-header:hover .codiff-copy-path-button, .codiff-copy-path-button:focus-visible, .codiff-copy-path-button.copied {
|
|
7387
|
+
.codiff-file-header:hover .codiff-copy-path-button, .codiff-file-header:hover .codiff-open-file-button, .codiff-copy-path-button:focus-visible, .codiff-open-file-button:focus-visible, .codiff-copy-path-button.copied {
|
|
7337
7388
|
opacity: 1;
|
|
7338
7389
|
}
|
|
7339
7390
|
|
|
7340
|
-
.codiff-copy-path-button:hover {
|
|
7391
|
+
.codiff-copy-path-button:hover, .codiff-open-file-button:hover:not(:disabled) {
|
|
7341
7392
|
color: var(--copy-icon);
|
|
7342
7393
|
background: #7f7f7f1c;
|
|
7343
7394
|
}
|
|
@@ -7346,6 +7397,14 @@ html[data-codiff-platform="darwin"] .sidebar {
|
|
|
7346
7397
|
color: var(--viewed);
|
|
7347
7398
|
}
|
|
7348
7399
|
|
|
7400
|
+
.codiff-open-file-button:disabled {
|
|
7401
|
+
cursor: default;
|
|
7402
|
+
}
|
|
7403
|
+
|
|
7404
|
+
.codiff-open-file-button:disabled svg {
|
|
7405
|
+
opacity: .4;
|
|
7406
|
+
}
|
|
7407
|
+
|
|
7349
7408
|
.codiff-button.plan-download-button {
|
|
7350
7409
|
width: 30px;
|
|
7351
7410
|
height: 30px;
|
|
@@ -7364,13 +7423,12 @@ html[data-codiff-platform="darwin"] .sidebar {
|
|
|
7364
7423
|
|
|
7365
7424
|
.codiff-header-toggle {
|
|
7366
7425
|
text-align: left;
|
|
7367
|
-
grid-template-columns: 30px minmax(0, 1fr)
|
|
7426
|
+
grid-template-columns: 30px minmax(0, 1fr);
|
|
7368
7427
|
justify-content: stretch;
|
|
7369
7428
|
gap: 10px;
|
|
7370
7429
|
min-width: 0;
|
|
7371
7430
|
padding: 0;
|
|
7372
7431
|
display: grid;
|
|
7373
|
-
overflow: hidden;
|
|
7374
7432
|
}
|
|
7375
7433
|
|
|
7376
7434
|
.codiff-header-toggle:hover {
|
|
@@ -7393,7 +7451,7 @@ html[data-codiff-platform="darwin"] .sidebar {
|
|
|
7393
7451
|
display: inline-flex;
|
|
7394
7452
|
}
|
|
7395
7453
|
|
|
7396
|
-
.codiff-header-toggle:hover:not(:has(.codiff-copy-path-button:hover)) .codiff-chevron-box, .codiff-source-description-collapse-button:hover .codiff-chevron-box, .codiff-file-comment-button:hover, .codiff-markdown-button:hover, .codiff-button:hover:not(:disabled), .codiff-viewed-button:hover {
|
|
7454
|
+
.codiff-header-toggle:hover:not(:has(.codiff-copy-path-button:hover, .codiff-open-file-button:hover)) .codiff-chevron-box, .codiff-source-description-collapse-button:hover .codiff-chevron-box, .codiff-file-comment-button:hover, .codiff-markdown-button:hover, .codiff-button:hover:is(:not(:disabled), [data-autosaving]), .codiff-viewed-button:hover {
|
|
7397
7455
|
background: #7f7f7f1c;
|
|
7398
7456
|
}
|
|
7399
7457
|
|
|
@@ -7409,7 +7467,6 @@ html[data-codiff-platform="darwin"] .sidebar {
|
|
|
7409
7467
|
|
|
7410
7468
|
.codiff-file-heading {
|
|
7411
7469
|
min-width: 0;
|
|
7412
|
-
overflow: hidden;
|
|
7413
7470
|
}
|
|
7414
7471
|
|
|
7415
7472
|
.codiff-file-path-row {
|
|
@@ -7436,6 +7493,23 @@ html[data-codiff-platform="darwin"] .sidebar {
|
|
|
7436
7493
|
transition: color .16s;
|
|
7437
7494
|
}
|
|
7438
7495
|
|
|
7496
|
+
.codiff-file-path:has(.codiff-file-name) {
|
|
7497
|
+
display: flex;
|
|
7498
|
+
}
|
|
7499
|
+
|
|
7500
|
+
.codiff-file-directory {
|
|
7501
|
+
text-overflow: ellipsis;
|
|
7502
|
+
min-width: 0;
|
|
7503
|
+
overflow: hidden;
|
|
7504
|
+
}
|
|
7505
|
+
|
|
7506
|
+
.codiff-file-name {
|
|
7507
|
+
text-overflow: ellipsis;
|
|
7508
|
+
flex: none;
|
|
7509
|
+
max-width: 100%;
|
|
7510
|
+
overflow: hidden;
|
|
7511
|
+
}
|
|
7512
|
+
|
|
7439
7513
|
.codiff-file-old-path {
|
|
7440
7514
|
color: var(--muted);
|
|
7441
7515
|
font: 11px/1.35 var(--font-mono);
|
|
@@ -7485,19 +7559,11 @@ html[data-codiff-platform="darwin"] .sidebar {
|
|
|
7485
7559
|
color: var(--diff-deletion);
|
|
7486
7560
|
}
|
|
7487
7561
|
|
|
7488
|
-
.codiff-
|
|
7562
|
+
.codiff-section-badge.unstaged {
|
|
7489
7563
|
color: #1f7a44;
|
|
7490
7564
|
}
|
|
7491
7565
|
|
|
7492
|
-
.codiff-
|
|
7493
|
-
color: #b8312f;
|
|
7494
|
-
}
|
|
7495
|
-
|
|
7496
|
-
.codiff-status-badge.conflicted {
|
|
7497
|
-
color: var(--danger);
|
|
7498
|
-
}
|
|
7499
|
-
|
|
7500
|
-
.codiff-status-badge.renamed, .codiff-section-badge.staged {
|
|
7566
|
+
.codiff-section-badge.staged {
|
|
7501
7567
|
color: #8f5d18;
|
|
7502
7568
|
}
|
|
7503
7569
|
|
|
@@ -7529,13 +7595,16 @@ html[data-codiff-platform="darwin"] .sidebar {
|
|
|
7529
7595
|
opacity: .72;
|
|
7530
7596
|
}
|
|
7531
7597
|
|
|
7598
|
+
.codiff-button, .codiff-copy-path-button, .codiff-open-file-button {
|
|
7599
|
+
transform: scale(1);
|
|
7600
|
+
box-shadow: inset 0 0 0 1px #fff0, 0 10px 32px -24px #0000, 0 8px 20px -16px #0000;
|
|
7601
|
+
}
|
|
7602
|
+
|
|
7532
7603
|
.codiff-button {
|
|
7533
7604
|
white-space: nowrap;
|
|
7534
7605
|
flex: none;
|
|
7535
7606
|
gap: 7px;
|
|
7536
7607
|
transition: background .16s, box-shadow .25s, transform .25s cubic-bezier(.34, 1.56, .64, 1);
|
|
7537
|
-
transform: scale(1);
|
|
7538
|
-
box-shadow: inset 0 0 0 1px #fff0, 0 10px 32px -24px #0000, 0 8px 20px -16px #0000;
|
|
7539
7608
|
}
|
|
7540
7609
|
|
|
7541
7610
|
.codiff-button-size-default {
|
|
@@ -7586,18 +7655,21 @@ html[data-codiff-platform="darwin"] .sidebar {
|
|
|
7586
7655
|
text-decoration: underline;
|
|
7587
7656
|
}
|
|
7588
7657
|
|
|
7589
|
-
.codiff-button:hover:not(:disabled) {
|
|
7658
|
+
.codiff-button:hover:is(:not(:disabled), [data-autosaving]), .codiff-copy-path-button:hover:not(:disabled), .codiff-open-file-button:hover:not(:disabled) {
|
|
7590
7659
|
transform: scale(1.05);
|
|
7591
7660
|
box-shadow: 0 10px 32px -24px #000000eb, 0 8px 20px -16px #000000d1;
|
|
7592
7661
|
}
|
|
7593
7662
|
|
|
7594
|
-
.codiff-button:active:not(:disabled):not(:has(.review-submit-toggle:active)) {
|
|
7663
|
+
.codiff-button:active:not(:disabled):not(:has(.review-submit-toggle:active)), .codiff-copy-path-button:active:not(:disabled), .codiff-open-file-button:active:not(:disabled) {
|
|
7595
7664
|
transform: scale(.95);
|
|
7596
7665
|
}
|
|
7597
7666
|
|
|
7598
7667
|
.codiff-button:disabled {
|
|
7599
|
-
color: var(--muted);
|
|
7600
7668
|
cursor: default;
|
|
7669
|
+
}
|
|
7670
|
+
|
|
7671
|
+
.codiff-button:disabled:not([data-autosaving]) {
|
|
7672
|
+
color: var(--muted);
|
|
7601
7673
|
opacity: .55;
|
|
7602
7674
|
}
|
|
7603
7675
|
|
|
@@ -8834,3 +8906,10 @@ diffs-container .review-comment-thread {
|
|
|
8834
8906
|
display: none;
|
|
8835
8907
|
}
|
|
8836
8908
|
}
|
|
8909
|
+
|
|
8910
|
+
.codiff-code-edit-error {
|
|
8911
|
+
color: var(--danger);
|
|
8912
|
+
background: var(--app-bg);
|
|
8913
|
+
padding: 8px 16px;
|
|
8914
|
+
font-size: 12px;
|
|
8915
|
+
}
|
package/dist/types.d.ts
CHANGED
|
@@ -245,6 +245,19 @@ export type SaveMarkdownDocumentResult = {
|
|
|
245
245
|
document: CodiffMarkdownDocument;
|
|
246
246
|
status: 'saved';
|
|
247
247
|
};
|
|
248
|
+
export type RepositoryFileDocument = {
|
|
249
|
+
content: string;
|
|
250
|
+
path: string;
|
|
251
|
+
root: string;
|
|
252
|
+
version: string;
|
|
253
|
+
};
|
|
254
|
+
export type SaveRepositoryFileRequest = Omit<RepositoryFileDocument, 'version'> & {
|
|
255
|
+
baseVersion: string;
|
|
256
|
+
};
|
|
257
|
+
export type SaveRepositoryFileResult = {
|
|
258
|
+
document: RepositoryFileDocument;
|
|
259
|
+
status: 'conflict' | 'saved';
|
|
260
|
+
};
|
|
248
261
|
export type PlanCommentAuthor = {
|
|
249
262
|
avatarUrl?: string;
|
|
250
263
|
email?: string;
|
|
@@ -664,8 +677,10 @@ export type CodiffPreferences = {
|
|
|
664
677
|
copyCommentsOnClose: boolean;
|
|
665
678
|
diffStyle: CodiffDiffStyle;
|
|
666
679
|
editorCommand: string;
|
|
680
|
+
expandUnchanged: boolean;
|
|
667
681
|
lastRepositoryPath: string;
|
|
668
682
|
openAIModel: string;
|
|
683
|
+
openAIReasoningEffort: string;
|
|
669
684
|
opencodeModel: string;
|
|
670
685
|
piModel: string;
|
|
671
686
|
reviewCommentsPrefix: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nkzw/codiff-core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.16.0",
|
|
4
4
|
"description": "A fast diff viewer.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -54,12 +54,12 @@
|
|
|
54
54
|
"@nkzw/mdx-editor": "^1.0.3",
|
|
55
55
|
"@nkzw/use-relative-time": "^1.2.3",
|
|
56
56
|
"@phosphor-icons/react": "^2.1.10",
|
|
57
|
-
"@pierre/diffs": "1.
|
|
57
|
+
"@pierre/diffs": "1.5.1",
|
|
58
58
|
"@pierre/trees": "1.0.0-beta.6",
|
|
59
59
|
"@radix-ui/react-slot": "^1.3.3",
|
|
60
60
|
"class-variance-authority": "^0.7.1",
|
|
61
61
|
"ghostty-web": "^0.4.0",
|
|
62
|
-
"lucide-react": "^1.
|
|
62
|
+
"lucide-react": "^1.48.0",
|
|
63
63
|
"valibot": "^1.5.0"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|