@pierre/diffs 1.1.21 → 1.1.22

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 (39) hide show
  1. package/dist/components/AdvancedVirtualizedFileDiff.d.ts.map +1 -1
  2. package/dist/components/File.d.ts +1 -0
  3. package/dist/components/File.d.ts.map +1 -1
  4. package/dist/components/File.js +13 -4
  5. package/dist/components/File.js.map +1 -1
  6. package/dist/components/FileDiff.d.ts +1 -0
  7. package/dist/components/FileDiff.d.ts.map +1 -1
  8. package/dist/components/FileDiff.js +13 -4
  9. package/dist/components/FileDiff.js.map +1 -1
  10. package/dist/components/FileStream.js +6 -3
  11. package/dist/components/FileStream.js.map +1 -1
  12. package/dist/components/UnresolvedFile.d.ts.map +1 -1
  13. package/dist/components/web-components.js +4 -0
  14. package/dist/components/web-components.js.map +1 -1
  15. package/dist/constants.d.ts +3 -1
  16. package/dist/constants.d.ts.map +1 -1
  17. package/dist/constants.js +3 -1
  18. package/dist/constants.js.map +1 -1
  19. package/dist/index.d.ts +3 -3
  20. package/dist/index.js +3 -3
  21. package/dist/style.js +1 -1
  22. package/dist/style.js.map +1 -1
  23. package/dist/types.d.ts +1 -0
  24. package/dist/types.d.ts.map +1 -1
  25. package/dist/utils/cssWrappers.d.ts +3 -2
  26. package/dist/utils/cssWrappers.d.ts.map +1 -1
  27. package/dist/utils/cssWrappers.js +13 -2
  28. package/dist/utils/cssWrappers.js.map +1 -1
  29. package/dist/utils/getFiletypeFromFileName.js +16 -0
  30. package/dist/utils/getFiletypeFromFileName.js.map +1 -1
  31. package/dist/utils/scrollbarGutter.d.ts +6 -0
  32. package/dist/utils/scrollbarGutter.d.ts.map +1 -0
  33. package/dist/utils/scrollbarGutter.js +28 -0
  34. package/dist/utils/scrollbarGutter.js.map +1 -0
  35. package/dist/worker/worker-portable.js +18 -0
  36. package/dist/worker/worker-portable.js.map +1 -1
  37. package/dist/worker/worker.js +16 -0
  38. package/dist/worker/worker.js.map +1 -1
  39. package/package.json +1 -1
@@ -0,0 +1,28 @@
1
+ import { DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY, DIFFS_SCROLLBAR_MEASURE_ATTRIBUTE } from "../constants.js";
2
+
3
+ //#region src/utils/scrollbarGutter.ts
4
+ let measuredScrollbarGutter;
5
+ function getMeasuredScrollbarGutter(shadowRoot) {
6
+ if (measuredScrollbarGutter != null) return measuredScrollbarGutter;
7
+ const host = shadowRoot.host;
8
+ if (typeof HTMLElement !== "undefined" && host instanceof HTMLElement && !host.isConnected) return;
9
+ const wrapper = document.createElement("div");
10
+ wrapper.setAttribute("data-code", "");
11
+ wrapper.setAttribute(DIFFS_SCROLLBAR_MEASURE_ATTRIBUTE, "true");
12
+ const child = document.createElement("div");
13
+ child.style.position = "relative";
14
+ child.style.width = "200%";
15
+ child.style.height = "200%";
16
+ wrapper.appendChild(child);
17
+ shadowRoot.appendChild(wrapper);
18
+ measuredScrollbarGutter = Math.max(wrapper.offsetHeight - wrapper.clientHeight, 0);
19
+ wrapper.remove();
20
+ return measuredScrollbarGutter;
21
+ }
22
+ function createMeasuredScrollbarGutterDeclaration(scrollbarGutter) {
23
+ return `${DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY}: ${scrollbarGutter == null ? "var(--diffs-scrollbar-gutter-fallback)" : `${scrollbarGutter}px`};`;
24
+ }
25
+
26
+ //#endregion
27
+ export { createMeasuredScrollbarGutterDeclaration, getMeasuredScrollbarGutter };
28
+ //# sourceMappingURL=scrollbarGutter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrollbarGutter.js","names":["measuredScrollbarGutter: number | undefined"],"sources":["../../src/utils/scrollbarGutter.ts"],"sourcesContent":["import {\n DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY,\n DIFFS_SCROLLBAR_MEASURE_ATTRIBUTE,\n} from '../constants';\n\nlet measuredScrollbarGutter: number | undefined;\n\n// Measures the horizontal scrollbar used by `[data-code]` once per page. The\n// hidden probe opts into the same selector as real code panes so custom\n// scrollbar CSS is reflected in the measured value.\nexport function getMeasuredScrollbarGutter(\n shadowRoot: ShadowRoot\n): number | undefined {\n if (measuredScrollbarGutter != null) {\n return measuredScrollbarGutter;\n }\n\n const host = shadowRoot.host;\n if (\n typeof HTMLElement !== 'undefined' &&\n host instanceof HTMLElement &&\n !host.isConnected\n ) {\n return undefined;\n }\n\n const wrapper = document.createElement('div');\n wrapper.setAttribute('data-code', '');\n wrapper.setAttribute(DIFFS_SCROLLBAR_MEASURE_ATTRIBUTE, 'true');\n\n const child = document.createElement('div');\n child.style.position = 'relative';\n child.style.width = '200%';\n child.style.height = '200%';\n wrapper.appendChild(child);\n\n shadowRoot.appendChild(wrapper);\n measuredScrollbarGutter = Math.max(\n wrapper.offsetHeight - wrapper.clientHeight,\n 0\n );\n wrapper.remove();\n return measuredScrollbarGutter;\n}\n\nexport function createMeasuredScrollbarGutterDeclaration(\n scrollbarGutter: number | undefined\n): string {\n const value =\n scrollbarGutter == null\n ? 'var(--diffs-scrollbar-gutter-fallback)'\n : `${scrollbarGutter}px`;\n return `${DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY}: ${value};`;\n}\n"],"mappings":";;;AAKA,IAAIA;AAKJ,SAAgB,2BACd,YACoB;AACpB,KAAI,2BAA2B,KAC7B,QAAO;CAGT,MAAM,OAAO,WAAW;AACxB,KACE,OAAO,gBAAgB,eACvB,gBAAgB,eAChB,CAAC,KAAK,YAEN;CAGF,MAAM,UAAU,SAAS,cAAc,MAAM;AAC7C,SAAQ,aAAa,aAAa,GAAG;AACrC,SAAQ,aAAa,mCAAmC,OAAO;CAE/D,MAAM,QAAQ,SAAS,cAAc,MAAM;AAC3C,OAAM,MAAM,WAAW;AACvB,OAAM,MAAM,QAAQ;AACpB,OAAM,MAAM,SAAS;AACrB,SAAQ,YAAY,MAAM;AAE1B,YAAW,YAAY,QAAQ;AAC/B,2BAA0B,KAAK,IAC7B,QAAQ,eAAe,QAAQ,cAC/B,EACD;AACD,SAAQ,QAAQ;AAChB,QAAO;;AAGT,SAAgB,yCACd,iBACQ;AAKR,QAAO,GAAG,yCAAyC,IAHjD,mBAAmB,OACf,2CACA,GAAG,gBAAgB,IACoC"}
@@ -12158,6 +12158,8 @@ const DEFAULT_THEMES = {
12158
12158
  const THEME_CSS_ATTRIBUTE = "data-theme-css";
12159
12159
  const UNSAFE_CSS_ATTRIBUTE = "data-unsafe-css";
12160
12160
  const CORE_CSS_ATTRIBUTE = "data-core-css";
12161
+ const DIFFS_SCROLLBAR_MEASURE_ATTRIBUTE = "data-diffs-scrollbar-measure";
12162
+ const DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY = "--diffs-scrollbar-gutter-measured";
12161
12163
  const DEFAULT_COLLAPSED_CONTEXT_THRESHOLD = 1;
12162
12164
  const DEFAULT_VIRTUAL_FILE_METRICS = {
12163
12165
  hunkLineCount: 50,
@@ -12497,6 +12499,22 @@ const EXTENSION_TO_FILE_FORMAT = {
12497
12499
  rst: "rst",
12498
12500
  rake: "ruby",
12499
12501
  gemspec: "ruby",
12502
+ jbuilder: "ruby",
12503
+ builder: "ruby",
12504
+ rabl: "ruby",
12505
+ arb: "ruby",
12506
+ ru: "ruby",
12507
+ podspec: "ruby",
12508
+ Gemfile: "ruby",
12509
+ Rakefile: "ruby",
12510
+ Guardfile: "ruby",
12511
+ Capfile: "ruby",
12512
+ Berksfile: "ruby",
12513
+ Brewfile: "ruby",
12514
+ Vagrantfile: "ruby",
12515
+ Thorfile: "ruby",
12516
+ Appraisals: "ruby",
12517
+ Dangerfile: "ruby",
12500
12518
  sas: "sas",
12501
12519
  sass: "sass",
12502
12520
  scala: "scala",