@pierre/diffs 1.5.1 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/components/CodeView.d.ts +2 -1
  2. package/dist/components/CodeView.d.ts.map +1 -1
  3. package/dist/components/CodeView.js +21 -11
  4. package/dist/components/CodeView.js.map +1 -1
  5. package/dist/components/File.d.ts.map +1 -1
  6. package/dist/components/File.js +3 -1
  7. package/dist/components/File.js.map +1 -1
  8. package/dist/components/FileDiff.d.ts +7 -4
  9. package/dist/components/FileDiff.d.ts.map +1 -1
  10. package/dist/components/FileDiff.js +4 -2
  11. package/dist/components/FileDiff.js.map +1 -1
  12. package/dist/components/VirtualizedFile.d.ts.map +1 -1
  13. package/dist/components/VirtualizedFile.js +10 -5
  14. package/dist/components/VirtualizedFile.js.map +1 -1
  15. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  16. package/dist/components/VirtualizedFileDiff.js +3 -4
  17. package/dist/components/VirtualizedFileDiff.js.map +1 -1
  18. package/dist/editor/editor.d.ts.map +1 -1
  19. package/dist/editor/editor.js +5 -2
  20. package/dist/editor/editor.js.map +1 -1
  21. package/dist/editor/getChangedDocumentLines.d.ts +6 -0
  22. package/dist/editor/getChangedDocumentLines.d.ts.map +1 -0
  23. package/dist/editor/getChangedDocumentLines.js +35 -0
  24. package/dist/editor/getChangedDocumentLines.js.map +1 -0
  25. package/dist/renderers/DiffHunksRenderer.d.ts +1 -1
  26. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  27. package/dist/renderers/DiffHunksRenderer.js +19 -2
  28. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  29. package/dist/types.d.ts +3 -2
  30. package/dist/types.d.ts.map +1 -1
  31. package/dist/utils/computeVirtualFileMetrics.d.ts +2 -1
  32. package/dist/utils/computeVirtualFileMetrics.d.ts.map +1 -1
  33. package/dist/utils/computeVirtualFileMetrics.js +5 -3
  34. package/dist/utils/computeVirtualFileMetrics.js.map +1 -1
  35. package/dist/utils/getDiffHunksRendererOptions.js +1 -0
  36. package/dist/utils/getDiffHunksRendererOptions.js.map +1 -1
  37. package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
  38. package/dist/utils/getFiletypeFromFileName.js +21 -3
  39. package/dist/utils/getFiletypeFromFileName.js.map +1 -1
  40. package/dist/utils/platform.d.ts +2 -1
  41. package/dist/utils/platform.d.ts.map +1 -1
  42. package/dist/utils/platform.js +6 -1
  43. package/dist/utils/platform.js.map +1 -1
  44. package/dist/worker/WorkerPoolManager.d.ts +8 -0
  45. package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  46. package/dist/worker/WorkerPoolManager.js +29 -14
  47. package/dist/worker/WorkerPoolManager.js.map +1 -1
  48. package/dist/worker/errors.d.ts +35 -0
  49. package/dist/worker/errors.d.ts.map +1 -0
  50. package/dist/worker/errors.js +52 -0
  51. package/dist/worker/errors.js.map +1 -0
  52. package/dist/worker/index.d.ts +2 -1
  53. package/dist/worker/index.js +2 -1
  54. package/dist/worker/types.d.ts +13 -0
  55. package/dist/worker/types.d.ts.map +1 -1
  56. package/dist/worker/worker-portable.js +21 -3
  57. package/dist/worker/worker-portable.js.map +1 -1
  58. package/dist/worker/worker.js +21 -3
  59. package/dist/worker/worker.js.map +1 -1
  60. package/package.json +1 -1
@@ -87,7 +87,7 @@ type CodeViewOptionCallback<LAnnotation, Caret, TKey extends keyof FileOptions<L
87
87
  (...args: [...OverloadFileCallbackArgs<LAnnotation, Caret, TKey>, context: CodeViewFileItemContext<LAnnotation, Caret>]): CallbackReturn<NonNullable<FileOptions<LAnnotation, Caret>[TKey]>>;
88
88
  (...args: [...OverloadDiffCallbackArgs<LAnnotation, Caret, TKey>, context: CodeViewDiffItemContext<LAnnotation, Caret>]): CallbackReturn<NonNullable<FileDiffOptions<LAnnotation, Caret>[TKey]>>;
89
89
  };
90
- declare const CODE_VIEW_DIFF_OPTION_KEYS: readonly ['theme', 'disableLineNumbers', 'overflow', 'themeType', 'disableFileHeader', 'disableVirtualizationBuffers', 'preferredHighlighter', 'useCSSClasses', 'useTokenTransformer', 'tokenizeMaxLineLength', 'tokenizeMaxLength', 'unsafeCSS', 'diffStyle', 'diffIndicators', 'disableBackground', 'expandUnchanged', 'loadDiffFiles', 'collapsedContextThreshold', 'lineDiffType', 'maxLineDiffLength', 'expansionLineCount', 'lineHoverHighlight', 'enableTokenInteractionsOnWhitespace', 'enableGutterUtility', '__debugPointerEvents', 'enableLineSelection', 'controlledSelection', 'disableErrorHandling'];
90
+ declare const CODE_VIEW_DIFF_OPTION_KEYS: readonly ['theme', 'disableLineNumbers', 'overflow', 'themeType', 'disableFileHeader', 'disableVirtualizationBuffers', 'preferredHighlighter', 'useCSSClasses', 'useTokenTransformer', 'tokenizeMaxLineLength', 'tokenizeMaxLength', 'unsafeCSS', 'diffStyle', 'diffIndicators', 'disableBackground', 'expandUnchanged', 'loadDiffFiles', 'parseDiffOptions', 'collapsedContextThreshold', 'lineDiffType', 'maxLineDiffLength', 'expansionLineCount', 'lineHoverHighlight', 'enableTokenInteractionsOnWhitespace', 'enableGutterUtility', '__debugPointerEvents', 'enableLineSelection', 'controlledSelection', 'disableErrorHandling'];
91
91
  type CodeViewDiffOptionKeys = (typeof CODE_VIEW_DIFF_OPTION_KEYS)[number];
92
92
  declare const CODE_VIEW_FILE_OPTION_KEYS: readonly ['theme', 'disableLineNumbers', 'overflow', 'themeType', 'disableFileHeader', 'disableVirtualizationBuffers', 'preferredHighlighter', 'useCSSClasses', 'useTokenTransformer', 'tokenizeMaxLineLength', 'tokenizeMaxLength', 'unsafeCSS', 'lineHoverHighlight', 'enableTokenInteractionsOnWhitespace', 'enableGutterUtility', '__debugPointerEvents', 'enableLineSelection', 'controlledSelection', 'disableErrorHandling'];
93
93
  type CodeViewPassThroughOptions<LAnnotation, Caret> = Pick<FileDiffOptions<LAnnotation, Caret>, CodeViewDiffOptionKeys>;
@@ -194,6 +194,7 @@ declare class CodeView<LAnnotation = undefined, Caret = undefined> {
194
194
  private containerHeight;
195
195
  private scrollTop;
196
196
  private scrollPageOffset;
197
+ private readonly scrollRebaseConfig;
197
198
  private scrollDirty;
198
199
  private scrollInteractionFixTimer;
199
200
  private pointerEventsDisabled;
@@ -1 +1 @@
1
- {"version":3,"file":"CodeView.d.ts","names":[],"sources":["../../src/components/CodeView.ts"],"mappings":"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"}
1
+ {"version":3,"file":"CodeView.d.ts","names":[],"sources":["../../src/components/CodeView.ts"],"mappings":"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"}
@@ -11,6 +11,7 @@ import { areSelectionsEqual } from "../utils/areSelectionsEqual.js";
11
11
  import { createCodeViewHeaderFooterHostElement } from "../utils/createCodeViewHeaderFooterHostElement.js";
12
12
  import { createWindowFromScrollPosition } from "../utils/createWindowFromScrollPosition.js";
13
13
  import { isStyleNode } from "../utils/isStyleNode.js";
14
+ import { isFirefox } from "../utils/platform.js";
14
15
  import { prefersReducedMotion } from "../utils/prefersReducedMotion.js";
15
16
  import { roundToDevicePixel } from "../utils/roundToDevicePixel.js";
16
17
  import { VirtualizedFile } from "./VirtualizedFile.js";
@@ -34,6 +35,7 @@ const CODE_VIEW_DIFF_OPTION_KEYS = [
34
35
  "disableBackground",
35
36
  "expandUnchanged",
36
37
  "loadDiffFiles",
38
+ "parseDiffOptions",
37
39
  "collapsedContextThreshold",
38
40
  "lineDiffType",
39
41
  "maxLineDiffLength",
@@ -113,11 +115,17 @@ function defineItemOption(target, key, get) {
113
115
  const DEFAULT_SCROLL_INTERACTION_RESTORE_DELAY_MS = 120;
114
116
  const SUB_PIXEL_TOLERANCE = 1;
115
117
  const SCROLLING_CODE_OVERFLOW_FIX_VARIABLE = "--diffs-overflow-override";
116
- const SCROLL_REBASE_CONTAINER_HEIGHT = 12e6;
117
- const SCROLL_REBASE_TRIGGER_TOP = 1e6;
118
- const SCROLL_REBASE_TARGET_TOP = 2e6;
119
- const SCROLL_REBASE_TARGET_BOTTOM = 1e7;
120
- const SCROLL_REBASE_THRESHOLD = 11e6;
118
+ function createScrollRebaseConfig(containerHeight, triggerTop, targetTop) {
119
+ return {
120
+ containerHeight,
121
+ triggerTop,
122
+ targetTop,
123
+ targetBottom: containerHeight - targetTop,
124
+ threshold: containerHeight - triggerTop
125
+ };
126
+ }
127
+ const DEFAULT_SCROLL_REBASE = createScrollRebaseConfig(12e6, 1e6, 2e6);
128
+ const FIREFOX_SCROLL_REBASE = createScrollRebaseConfig(2 ** 22, 5e5, 1e6);
121
129
  function assertEditorFactory(createEditor) {
122
130
  if (createEditor == null) throw new Error("CodeView: createEditor is required for items with edit: true");
123
131
  }
@@ -153,6 +161,7 @@ var CodeView = class CodeView {
153
161
  containerHeight = -1;
154
162
  scrollTop = 0;
155
163
  scrollPageOffset = 0;
164
+ scrollRebaseConfig = isFirefox() ? FIREFOX_SCROLL_REBASE : DEFAULT_SCROLL_REBASE;
156
165
  scrollDirty = true;
157
166
  scrollInteractionFixTimer;
158
167
  pointerEventsDisabled = false;
@@ -1331,10 +1340,10 @@ var CodeView = class CodeView {
1331
1340
  return this.getMaxScrollTopForHeight(this.getScrollHeight());
1332
1341
  }
1333
1342
  shouldRebaseScroll() {
1334
- return this.getMaxScrollTop() > SCROLL_REBASE_THRESHOLD;
1343
+ return this.getMaxScrollTop() > this.scrollRebaseConfig.threshold;
1335
1344
  }
1336
1345
  getPagedScrollHeight() {
1337
- return this.shouldRebaseScroll() ? Math.min(this.getScrollHeight(), SCROLL_REBASE_CONTAINER_HEIGHT) : this.getScrollHeight();
1346
+ return this.shouldRebaseScroll() ? Math.min(this.getScrollHeight(), this.scrollRebaseConfig.containerHeight) : this.getScrollHeight();
1338
1347
  }
1339
1348
  getMaxPagedScrollTop() {
1340
1349
  return this.getMaxScrollTopForHeight(this.getPagedScrollHeight());
@@ -1377,13 +1386,14 @@ var CodeView = class CodeView {
1377
1386
  pagedScrollTop: this.clampPagedScrollTop(logicalScrollTop),
1378
1387
  scrollPageOffset: 0
1379
1388
  };
1380
- const currentPageOffset = this.clampScrollPageOffset(this.scrollPageOffset);
1389
+ const { scrollPageOffset, scrollRebaseConfig } = this;
1390
+ const currentPageOffset = this.clampScrollPageOffset(scrollPageOffset);
1381
1391
  const pagedScrollTop = logicalScrollTop - currentPageOffset;
1382
1392
  const pagedMaxScrollTop = this.getMaxPagedScrollTop();
1383
1393
  const maxRebaseOffset = this.getMaxScrollPageOffset();
1384
- const shouldMoveDown = pagedScrollTop > SCROLL_REBASE_THRESHOLD && currentPageOffset < maxRebaseOffset;
1385
- const shouldMoveUp = pagedScrollTop < SCROLL_REBASE_TRIGGER_TOP && currentPageOffset > 0;
1386
- if (pagedScrollTop < 0 || pagedScrollTop > pagedMaxScrollTop || shouldMoveDown || shouldMoveUp) return this.resolveScrollPageWindow(logicalScrollTop, shouldMoveUp ? Math.min(SCROLL_REBASE_TARGET_BOTTOM, pagedMaxScrollTop) : SCROLL_REBASE_TARGET_TOP);
1394
+ const shouldMoveDown = pagedScrollTop > scrollRebaseConfig.threshold && currentPageOffset < maxRebaseOffset;
1395
+ const shouldMoveUp = pagedScrollTop < scrollRebaseConfig.triggerTop && currentPageOffset > 0;
1396
+ if (pagedScrollTop < 0 || pagedScrollTop > pagedMaxScrollTop || shouldMoveDown || shouldMoveUp) return this.resolveScrollPageWindow(logicalScrollTop, shouldMoveUp ? Math.min(scrollRebaseConfig.targetBottom, pagedMaxScrollTop) : scrollRebaseConfig.targetTop);
1387
1397
  return {
1388
1398
  pagedScrollTop: roundToDevicePixel(this.clampPagedScrollTop(pagedScrollTop)),
1389
1399
  scrollPageOffset: currentPageOffset