@thxgg/steward 0.1.25 → 0.1.26

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 (187) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{Bc2V3wPK.js → B2ow85x_.js} +2 -2
  3. package/.output/public/_nuxt/{U78rMDmo.js → B6CbIr08.js} +1 -1
  4. package/.output/public/_nuxt/{BknRrWsw.js → BLQAF8wp.js} +1 -1
  5. package/.output/public/_nuxt/BXuwtOqb.js +1 -0
  6. package/.output/public/_nuxt/CAMiEhze.js +1 -0
  7. package/.output/public/_nuxt/{BRQ9Cxaw.js → CIBCqZF5.js} +1 -1
  8. package/.output/public/_nuxt/Ce0-nlm9.js +1 -0
  9. package/.output/public/_nuxt/{T11EuTtn.js → ConzneVY.js} +1 -1
  10. package/.output/public/_nuxt/D0qxz_Pn.js +1310 -0
  11. package/.output/public/_nuxt/D3PDtLSF.js +3 -0
  12. package/.output/public/_nuxt/{C73kduX-.js → DdKC0UAK.js} +1 -1
  13. package/.output/public/_nuxt/Detail.BGdvrJGh.css +1 -0
  14. package/.output/public/_nuxt/{C53_p0K1.js → Dkh9ic1y.js} +1 -1
  15. package/.output/public/_nuxt/LEjJTR7-.js +1 -0
  16. package/.output/public/_nuxt/{BTmXUZ_s.js → UqZfMfrZ.js} +1 -1
  17. package/.output/public/_nuxt/builds/latest.json +1 -1
  18. package/.output/public/_nuxt/builds/meta/25438e34-19a2-421d-aede-53fd18f1ccd4.json +1 -0
  19. package/.output/public/_nuxt/dckrK0oj.js +1 -0
  20. package/.output/public/_nuxt/entry.DT4p6_uW.css +1 -0
  21. package/.output/public/_nuxt/pIWeVmPw.js +1 -0
  22. package/.output/public/_nuxt/xrHaPo1U.js +60 -0
  23. package/.output/server/chunks/build/{Detail-DMMUwTWr.mjs → Detail-rpcemNXe.mjs} +674 -481
  24. package/.output/server/chunks/build/Detail-rpcemNXe.mjs.map +1 -0
  25. package/.output/server/chunks/build/DiffViewer-styles.B1FB5NJj.mjs +8 -0
  26. package/.output/server/chunks/build/DiffViewer-styles.B1FB5NJj.mjs.map +1 -0
  27. package/.output/server/chunks/build/{_prd_-ByugK4Yi.mjs → _prd_-CeibvZOH.mjs} +67 -233
  28. package/.output/server/chunks/build/_prd_-CeibvZOH.mjs.map +1 -0
  29. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  30. package/.output/server/chunks/build/{default-BKKgG7HJ.mjs → default-iq8SaDDN.mjs} +3 -3
  31. package/.output/server/chunks/build/default-iq8SaDDN.mjs.map +1 -0
  32. package/.output/server/chunks/build/{error-404-Bf6kdO80.mjs → error-404-DFale9A5.mjs} +2 -2
  33. package/.output/server/chunks/build/error-404-DFale9A5.mjs.map +1 -0
  34. package/.output/server/chunks/build/{index-DE1tjHAd.mjs → index-Po00RvHm.mjs} +2 -2
  35. package/.output/server/chunks/build/index-Po00RvHm.mjs.map +1 -0
  36. package/.output/server/chunks/build/{nuxt-link-SvT1nf8Z.mjs → nuxt-link-B4oWFn7n.mjs} +2 -2
  37. package/.output/server/chunks/build/nuxt-link-B4oWFn7n.mjs.map +1 -0
  38. package/.output/server/chunks/build/{repo-graph-DzT45gSB.mjs → repo-graph-BQVFpA-w.mjs} +5 -4
  39. package/.output/server/chunks/build/repo-graph-BQVFpA-w.mjs.map +1 -0
  40. package/.output/server/chunks/build/server.mjs +7 -7
  41. package/.output/server/chunks/build/styles.mjs +4 -5
  42. package/.output/server/chunks/build/{usePrd-hXZOmvAv.mjs → usePrd-Bb6jlnNZ.mjs} +2 -2
  43. package/.output/server/chunks/build/usePrd-Bb6jlnNZ.mjs.map +1 -0
  44. package/.output/server/chunks/nitro/nitro.mjs +663 -660
  45. package/.output/server/node_modules/@pierre/diffs/dist/components/File.js +324 -0
  46. package/.output/server/node_modules/@pierre/diffs/dist/components/FileDiff.js +395 -0
  47. package/.output/server/node_modules/@pierre/diffs/dist/components/FileStream.js +161 -0
  48. package/.output/server/node_modules/@pierre/diffs/dist/components/web-components.js +25 -0
  49. package/.output/server/node_modules/@pierre/diffs/dist/constants.js +23 -0
  50. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/languages/areLanguagesAttached.js +11 -0
  51. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/languages/attachResolvedLanguages.js +20 -0
  52. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/languages/cleanUpResolvedLanguages.js +11 -0
  53. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/languages/constants.js +8 -0
  54. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/languages/getResolvedLanguages.js +16 -0
  55. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/languages/getResolvedOrResolveLanguage.js +11 -0
  56. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/languages/hasResolvedLanguages.js +11 -0
  57. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/languages/resolveLanguage.js +30 -0
  58. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/languages/resolveLanguages.js +25 -0
  59. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/shared_highlighter.js +71 -0
  60. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/themes/areThemesAttached.js +12 -0
  61. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/themes/attachResolvedThemes.js +24 -0
  62. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/themes/cleanUpResolvedThemes.js +11 -0
  63. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/themes/constants.js +9 -0
  64. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/themes/getResolvedOrResolveTheme.js +11 -0
  65. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/themes/getResolvedThemes.js +16 -0
  66. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/themes/hasResolvedThemes.js +11 -0
  67. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/themes/registerCustomCSSVariableTheme.js +18 -0
  68. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/themes/registerCustomTheme.js +14 -0
  69. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/themes/resolveTheme.js +35 -0
  70. package/.output/server/node_modules/@pierre/diffs/dist/highlighter/themes/resolveThemes.js +21 -0
  71. package/.output/server/node_modules/@pierre/diffs/dist/index.js +84 -0
  72. package/.output/server/node_modules/@pierre/diffs/dist/managers/LineSelectionManager.js +282 -0
  73. package/.output/server/node_modules/@pierre/diffs/dist/managers/MouseEventManager.js +244 -0
  74. package/.output/server/node_modules/@pierre/diffs/dist/managers/ResizeManager.js +132 -0
  75. package/.output/server/node_modules/@pierre/diffs/dist/managers/ScrollSyncManager.js +62 -0
  76. package/.output/server/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.js +32 -0
  77. package/.output/server/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js +655 -0
  78. package/.output/server/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js +243 -0
  79. package/.output/server/node_modules/@pierre/diffs/dist/shiki-stream/stream.js +32 -0
  80. package/.output/server/node_modules/@pierre/diffs/dist/shiki-stream/tokenizer.js +71 -0
  81. package/.output/server/node_modules/@pierre/diffs/dist/sprite.js +55 -0
  82. package/.output/server/node_modules/@pierre/diffs/dist/style.js +6 -0
  83. package/.output/server/node_modules/@pierre/diffs/dist/themes/pierre-dark.js +1328 -0
  84. package/.output/server/node_modules/@pierre/diffs/dist/themes/pierre-light.js +1328 -0
  85. package/.output/server/node_modules/@pierre/diffs/dist/utils/areFilesEqual.js +8 -0
  86. package/.output/server/node_modules/@pierre/diffs/dist/utils/areObjectsEqual.js +18 -0
  87. package/.output/server/node_modules/@pierre/diffs/dist/utils/areOptionsEqual.js +12 -0
  88. package/.output/server/node_modules/@pierre/diffs/dist/utils/areSelectionsEqual.js +8 -0
  89. package/.output/server/node_modules/@pierre/diffs/dist/utils/areThemesEqual.js +9 -0
  90. package/.output/server/node_modules/@pierre/diffs/dist/utils/cleanLastNewline.js +8 -0
  91. package/.output/server/node_modules/@pierre/diffs/dist/utils/createAnnotationElement.js +21 -0
  92. package/.output/server/node_modules/@pierre/diffs/dist/utils/createAnnotationWrapperNode.js +12 -0
  93. package/.output/server/node_modules/@pierre/diffs/dist/utils/createCodeNode.js +12 -0
  94. package/.output/server/node_modules/@pierre/diffs/dist/utils/createEmptyRowBuffer.js +16 -0
  95. package/.output/server/node_modules/@pierre/diffs/dist/utils/createFileHeaderElement.js +84 -0
  96. package/.output/server/node_modules/@pierre/diffs/dist/utils/createHoverContentNode.js +15 -0
  97. package/.output/server/node_modules/@pierre/diffs/dist/utils/createNoNewlineElement.js +24 -0
  98. package/.output/server/node_modules/@pierre/diffs/dist/utils/createPreElement.js +28 -0
  99. package/.output/server/node_modules/@pierre/diffs/dist/utils/createRowNodes.js +20 -0
  100. package/.output/server/node_modules/@pierre/diffs/dist/utils/createSeparator.js +69 -0
  101. package/.output/server/node_modules/@pierre/diffs/dist/utils/createSpanNodeFromToken.js +13 -0
  102. package/.output/server/node_modules/@pierre/diffs/dist/utils/createStyleElement.js +19 -0
  103. package/.output/server/node_modules/@pierre/diffs/dist/utils/createTransformerWithState.js +56 -0
  104. package/.output/server/node_modules/@pierre/diffs/dist/utils/createUnsafeCSSStyleNode.js +12 -0
  105. package/.output/server/node_modules/@pierre/diffs/dist/utils/cssWrappers.js +21 -0
  106. package/.output/server/node_modules/@pierre/diffs/dist/utils/diffAcceptRejectHunk.js +82 -0
  107. package/.output/server/node_modules/@pierre/diffs/dist/utils/formatCSSVariablePrefix.js +8 -0
  108. package/.output/server/node_modules/@pierre/diffs/dist/utils/getFiletypeFromFileName.js +343 -0
  109. package/.output/server/node_modules/@pierre/diffs/dist/utils/getHighlighterOptions.js +13 -0
  110. package/.output/server/node_modules/@pierre/diffs/dist/utils/getHighlighterThemeStyles.js +40 -0
  111. package/.output/server/node_modules/@pierre/diffs/dist/utils/getHunkSeparatorSlotName.js +8 -0
  112. package/.output/server/node_modules/@pierre/diffs/dist/utils/getIconForType.js +15 -0
  113. package/.output/server/node_modules/@pierre/diffs/dist/utils/getLineAnnotationName.js +8 -0
  114. package/.output/server/node_modules/@pierre/diffs/dist/utils/getLineEndingType.js +11 -0
  115. package/.output/server/node_modules/@pierre/diffs/dist/utils/getLineNodes.js +15 -0
  116. package/.output/server/node_modules/@pierre/diffs/dist/utils/getSingularPatch.js +20 -0
  117. package/.output/server/node_modules/@pierre/diffs/dist/utils/getThemes.js +16 -0
  118. package/.output/server/node_modules/@pierre/diffs/dist/utils/getTotalLineCountFromHunks.js +10 -0
  119. package/.output/server/node_modules/@pierre/diffs/dist/utils/hast_utils.js +42 -0
  120. package/.output/server/node_modules/@pierre/diffs/dist/utils/isWorkerContext.js +8 -0
  121. package/.output/server/node_modules/@pierre/diffs/dist/utils/parseDiffDecorations.js +34 -0
  122. package/.output/server/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.js +23 -0
  123. package/.output/server/node_modules/@pierre/diffs/dist/utils/parseLineType.js +17 -0
  124. package/.output/server/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js +211 -0
  125. package/.output/server/node_modules/@pierre/diffs/dist/utils/prerenderHTMLIfNecessary.js +10 -0
  126. package/.output/server/node_modules/@pierre/diffs/dist/utils/processLine.js +42 -0
  127. package/.output/server/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.js +339 -0
  128. package/.output/server/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.js +52 -0
  129. package/.output/server/node_modules/@pierre/diffs/dist/utils/setLanguageOverride.js +11 -0
  130. package/.output/server/node_modules/@pierre/diffs/dist/utils/setWrapperNodeProps.js +29 -0
  131. package/.output/server/node_modules/@pierre/diffs/package.json +89 -0
  132. package/.output/server/node_modules/@shikijs/transformers/dist/index.mjs +831 -0
  133. package/.output/server/node_modules/@shikijs/transformers/package.json +37 -0
  134. package/.output/server/node_modules/diff/libesm/convert/dmp.js +21 -0
  135. package/.output/server/node_modules/diff/libesm/convert/xml.js +31 -0
  136. package/.output/server/node_modules/diff/libesm/diff/array.js +16 -0
  137. package/.output/server/node_modules/diff/libesm/diff/base.js +253 -0
  138. package/.output/server/node_modules/diff/libesm/diff/character.js +7 -0
  139. package/.output/server/node_modules/diff/libesm/diff/css.js +10 -0
  140. package/.output/server/node_modules/diff/libesm/diff/json.js +78 -0
  141. package/.output/server/node_modules/diff/libesm/diff/line.js +65 -0
  142. package/.output/server/node_modules/diff/libesm/diff/sentence.js +43 -0
  143. package/.output/server/node_modules/diff/libesm/diff/word.js +296 -0
  144. package/.output/server/node_modules/diff/libesm/index.js +30 -0
  145. package/.output/server/node_modules/diff/libesm/package.json +1 -0
  146. package/.output/server/node_modules/diff/libesm/patch/apply.js +257 -0
  147. package/.output/server/node_modules/diff/libesm/patch/create.js +228 -0
  148. package/.output/server/node_modules/diff/libesm/patch/line-endings.js +44 -0
  149. package/.output/server/node_modules/diff/libesm/patch/parse.js +147 -0
  150. package/.output/server/node_modules/diff/libesm/patch/reverse.js +23 -0
  151. package/.output/server/node_modules/diff/libesm/util/distance-iterator.js +37 -0
  152. package/.output/server/node_modules/diff/libesm/util/params.js +14 -0
  153. package/.output/server/node_modules/diff/libesm/util/string.js +128 -0
  154. package/.output/server/node_modules/diff/package.json +132 -0
  155. package/.output/server/package.json +4 -1
  156. package/dist/server/utils/git.js +8 -6
  157. package/package.json +2 -1
  158. package/.output/public/_nuxt/6tINjQEd.js +0 -141
  159. package/.output/public/_nuxt/B2mIQf5X.js +0 -3
  160. package/.output/public/_nuxt/C0BBSDJ7.js +0 -1
  161. package/.output/public/_nuxt/CN46Bgts.js +0 -1
  162. package/.output/public/_nuxt/CTJgb0zb.js +0 -1
  163. package/.output/public/_nuxt/Cce168lk.js +0 -30
  164. package/.output/public/_nuxt/CyVSeLw5.js +0 -1
  165. package/.output/public/_nuxt/Detail.CYc96mGf.css +0 -1
  166. package/.output/public/_nuxt/ZNypZshD.js +0 -13
  167. package/.output/public/_nuxt/builds/meta/9ce7f1bc-d5e2-47bf-8026-f4910c257b2e.json +0 -1
  168. package/.output/public/_nuxt/entry.Bw0CE6Iz.css +0 -1
  169. package/.output/public/_nuxt/pYJYAY-W.js +0 -60
  170. package/.output/server/chunks/build/Detail-DMMUwTWr.mjs.map +0 -1
  171. package/.output/server/chunks/build/DiffViewer-styles-1.mjs-d2dQvARr.mjs +0 -4
  172. package/.output/server/chunks/build/DiffViewer-styles-1.mjs-d2dQvARr.mjs.map +0 -1
  173. package/.output/server/chunks/build/DiffViewer-styles-2.mjs-X6QKNjM0.mjs +0 -4
  174. package/.output/server/chunks/build/DiffViewer-styles-2.mjs-X6QKNjM0.mjs.map +0 -1
  175. package/.output/server/chunks/build/DiffViewer-styles.0AbHFl6N.mjs +0 -8
  176. package/.output/server/chunks/build/DiffViewer-styles.0AbHFl6N.mjs.map +0 -1
  177. package/.output/server/chunks/build/DiffViewer-styles.BDwAqkTk.mjs +0 -8
  178. package/.output/server/chunks/build/DiffViewer-styles.BDwAqkTk.mjs.map +0 -1
  179. package/.output/server/chunks/build/DiffViewer-styles.DRJh5Ui4.mjs +0 -10
  180. package/.output/server/chunks/build/DiffViewer-styles.DRJh5Ui4.mjs.map +0 -1
  181. package/.output/server/chunks/build/_prd_-ByugK4Yi.mjs.map +0 -1
  182. package/.output/server/chunks/build/default-BKKgG7HJ.mjs.map +0 -1
  183. package/.output/server/chunks/build/error-404-Bf6kdO80.mjs.map +0 -1
  184. package/.output/server/chunks/build/index-DE1tjHAd.mjs.map +0 -1
  185. package/.output/server/chunks/build/nuxt-link-SvT1nf8Z.mjs.map +0 -1
  186. package/.output/server/chunks/build/repo-graph-DzT45gSB.mjs.map +0 -1
  187. package/.output/server/chunks/build/usePrd-hXZOmvAv.mjs.map +0 -1
@@ -0,0 +1,8 @@
1
+ //#region src/utils/areFilesEqual.ts
2
+ function areFilesEqual(fileA, fileB) {
3
+ return fileA?.cacheKey === fileB?.cacheKey && fileA?.contents === fileB?.contents && fileA?.name === fileB?.name && fileA?.lang === fileB?.lang;
4
+ }
5
+
6
+ //#endregion
7
+ export { areFilesEqual };
8
+ //# sourceMappingURL=areFilesEqual.js.map
@@ -0,0 +1,18 @@
1
+ //#region src/utils/areObjectsEqual.ts
2
+ function areObjectsEqual(objA, objB, omitKeys) {
3
+ if (objA === objB || objA == null || objB == null) return objA === objB;
4
+ const omitSet = new Set(omitKeys);
5
+ const keysA = Object.keys(objA);
6
+ const keysBSet = new Set(Object.keys(objB));
7
+ for (const key of keysA) {
8
+ keysBSet.delete(key);
9
+ if (omitSet.has(key)) continue;
10
+ if (!(key in objB) || objA[key] !== objB[key]) return false;
11
+ }
12
+ for (const key of Array.from(keysBSet)) if (!omitSet.has(key)) return false;
13
+ return true;
14
+ }
15
+
16
+ //#endregion
17
+ export { areObjectsEqual };
18
+ //# sourceMappingURL=areObjectsEqual.js.map
@@ -0,0 +1,12 @@
1
+ import { DEFAULT_THEMES } from "../constants.js";
2
+ import { areThemesEqual } from "./areThemesEqual.js";
3
+ import { areObjectsEqual } from "./areObjectsEqual.js";
4
+
5
+ //#region src/utils/areOptionsEqual.ts
6
+ function areOptionsEqual(optionsA, optionsB) {
7
+ return areThemesEqual(optionsA?.theme ?? DEFAULT_THEMES, optionsB?.theme ?? DEFAULT_THEMES) && areObjectsEqual(optionsA, optionsB, ["theme"]);
8
+ }
9
+
10
+ //#endregion
11
+ export { areOptionsEqual };
12
+ //# sourceMappingURL=areOptionsEqual.js.map
@@ -0,0 +1,8 @@
1
+ //#region src/utils/areSelectionsEqual.ts
2
+ function areSelectionsEqual(selectionA, selectionB) {
3
+ return selectionA?.start === selectionB?.start && selectionA?.end === selectionB?.end && selectionA?.side === selectionB?.side && selectionA?.endSide === selectionB?.endSide;
4
+ }
5
+
6
+ //#endregion
7
+ export { areSelectionsEqual };
8
+ //# sourceMappingURL=areSelectionsEqual.js.map
@@ -0,0 +1,9 @@
1
+ //#region src/utils/areThemesEqual.ts
2
+ function areThemesEqual(themeA, themeB) {
3
+ if (themeA == null || themeB == null || typeof themeA === "string" || typeof themeB === "string") return themeA === themeB;
4
+ return themeA.dark === themeB.dark && themeA.light === themeB.light;
5
+ }
6
+
7
+ //#endregion
8
+ export { areThemesEqual };
9
+ //# sourceMappingURL=areThemesEqual.js.map
@@ -0,0 +1,8 @@
1
+ //#region src/utils/cleanLastNewline.ts
2
+ function cleanLastNewline(contents) {
3
+ return contents.replace(/\n$|\r\n$/, "");
4
+ }
5
+
6
+ //#endregion
7
+ export { cleanLastNewline };
8
+ //# sourceMappingURL=cleanLastNewline.js.map
@@ -0,0 +1,21 @@
1
+ import { createHastElement } from "./hast_utils.js";
2
+
3
+ //#region src/utils/createAnnotationElement.ts
4
+ function createAnnotationElement(span) {
5
+ return createHastElement({
6
+ tagName: "div",
7
+ children: [createHastElement({
8
+ tagName: "div",
9
+ children: span.annotations?.map((slotId) => createHastElement({
10
+ tagName: "slot",
11
+ properties: { name: slotId }
12
+ })),
13
+ properties: { "data-annotation-content": "" }
14
+ })],
15
+ properties: { "data-line-annotation": `${span.hunkIndex},${span.lineIndex}` }
16
+ });
17
+ }
18
+
19
+ //#endregion
20
+ export { createAnnotationElement };
21
+ //# sourceMappingURL=createAnnotationElement.js.map
@@ -0,0 +1,12 @@
1
+ //#region src/utils/createAnnotationWrapperNode.ts
2
+ function createAnnotationWrapperNode(slot) {
3
+ const wrapper = document.createElement("div");
4
+ wrapper.dataset.annotationSlot = "";
5
+ wrapper.slot = slot;
6
+ wrapper.style.whiteSpace = "normal";
7
+ return wrapper;
8
+ }
9
+
10
+ //#endregion
11
+ export { createAnnotationWrapperNode };
12
+ //# sourceMappingURL=createAnnotationWrapperNode.js.map
@@ -0,0 +1,12 @@
1
+ //#region src/utils/createCodeNode.ts
2
+ function createCodeNode({ pre, columnType } = {}) {
3
+ const code = document.createElement("code");
4
+ code.dataset.code = "";
5
+ if (columnType != null) code.dataset[columnType] = "";
6
+ pre?.appendChild(code);
7
+ return code;
8
+ }
9
+
10
+ //#endregion
11
+ export { createCodeNode };
12
+ //# sourceMappingURL=createCodeNode.js.map
@@ -0,0 +1,16 @@
1
+ import { createHastElement } from "./hast_utils.js";
2
+
3
+ //#region src/utils/createEmptyRowBuffer.ts
4
+ function createEmptyRowBuffer(size) {
5
+ return createHastElement({
6
+ tagName: "div",
7
+ properties: {
8
+ "data-buffer": "",
9
+ style: `grid-row: span ${size};min-height:calc(${size} * 1lh)`
10
+ }
11
+ });
12
+ }
13
+
14
+ //#endregion
15
+ export { createEmptyRowBuffer };
16
+ //# sourceMappingURL=createEmptyRowBuffer.js.map
@@ -0,0 +1,84 @@
1
+ import { HEADER_METADATA_SLOT_ID } from "../constants.js";
2
+ import { createHastElement, createIconElement, createTextNodeElement } from "./hast_utils.js";
3
+ import { getIconForType } from "./getIconForType.js";
4
+
5
+ //#region src/utils/createFileHeaderElement.ts
6
+ function createFileHeaderElement({ fileOrDiff, themeStyles, themeType }) {
7
+ const fileDiff = "type" in fileOrDiff ? fileOrDiff : void 0;
8
+ const properties = {
9
+ "data-diffs-header": "",
10
+ "data-change-type": fileDiff?.type,
11
+ "data-theme-type": themeType !== "system" ? themeType : void 0,
12
+ style: themeStyles
13
+ };
14
+ return createHastElement({
15
+ tagName: "div",
16
+ children: [createHeaderElement({
17
+ name: fileOrDiff.name,
18
+ prevName: "prevName" in fileOrDiff ? fileOrDiff.prevName : void 0,
19
+ iconType: fileDiff?.type ?? "file"
20
+ }), createMetadataElement(fileDiff)],
21
+ properties
22
+ });
23
+ }
24
+ function createHeaderElement({ name, prevName, iconType }) {
25
+ const children = [createIconElement({
26
+ name: getIconForType(iconType),
27
+ properties: { "data-change-icon": iconType }
28
+ })];
29
+ if (prevName != null) {
30
+ children.push(createHastElement({
31
+ tagName: "div",
32
+ children: [createTextNodeElement(prevName)],
33
+ properties: { "data-prev-name": "" }
34
+ }));
35
+ children.push(createIconElement({
36
+ name: "diffs-icon-arrow-right-short",
37
+ properties: { "data-rename-icon": "" }
38
+ }));
39
+ }
40
+ children.push(createHastElement({
41
+ tagName: "div",
42
+ children: [createTextNodeElement(name)],
43
+ properties: { "data-title": "" }
44
+ }));
45
+ return createHastElement({
46
+ tagName: "div",
47
+ children,
48
+ properties: { "data-header-content": "" }
49
+ });
50
+ }
51
+ function createMetadataElement(fileDiff) {
52
+ const children = [];
53
+ if (fileDiff != null) {
54
+ let additions = 0;
55
+ let deletions = 0;
56
+ for (const hunk of fileDiff.hunks) {
57
+ additions += hunk.additionLines;
58
+ deletions += hunk.deletionLines;
59
+ }
60
+ if (deletions > 0 || additions === 0) children.push(createHastElement({
61
+ tagName: "span",
62
+ children: [createTextNodeElement(`-${deletions}`)],
63
+ properties: { "data-deletions-count": "" }
64
+ }));
65
+ if (additions > 0 || deletions === 0) children.push(createHastElement({
66
+ tagName: "span",
67
+ children: [createTextNodeElement(`+${additions}`)],
68
+ properties: { "data-additions-count": "" }
69
+ }));
70
+ }
71
+ children.push(createHastElement({
72
+ tagName: "slot",
73
+ properties: { name: HEADER_METADATA_SLOT_ID }
74
+ }));
75
+ return createHastElement({
76
+ tagName: "div",
77
+ children,
78
+ properties: { "data-metadata": "" }
79
+ });
80
+ }
81
+
82
+ //#endregion
83
+ export { createFileHeaderElement };
84
+ //# sourceMappingURL=createFileHeaderElement.js.map
@@ -0,0 +1,15 @@
1
+ //#region src/utils/createHoverContentNode.ts
2
+ function createHoverContentNode() {
3
+ const hoverContent = document.createElement("div");
4
+ hoverContent.slot = "hover-slot";
5
+ hoverContent.style.position = "absolute";
6
+ hoverContent.style.top = "0";
7
+ hoverContent.style.bottom = "0";
8
+ hoverContent.style.textAlign = "center";
9
+ hoverContent.style.whiteSpace = "normal";
10
+ return hoverContent;
11
+ }
12
+
13
+ //#endregion
14
+ export { createHoverContentNode };
15
+ //# sourceMappingURL=createHoverContentNode.js.map
@@ -0,0 +1,24 @@
1
+ import { createHastElement, createTextNodeElement } from "./hast_utils.js";
2
+
3
+ //#region src/utils/createNoNewlineElement.ts
4
+ function createNoNewlineElement(type) {
5
+ return createHastElement({
6
+ tagName: "div",
7
+ children: [createHastElement({
8
+ tagName: "span",
9
+ properties: { "data-column-number": "" }
10
+ }), createHastElement({
11
+ tagName: "span",
12
+ children: [createTextNodeElement("No newline at end of file")],
13
+ properties: { "data-column-content": "" }
14
+ })],
15
+ properties: {
16
+ "data-no-newline": "",
17
+ "data-line-type": type
18
+ }
19
+ });
20
+ }
21
+
22
+ //#endregion
23
+ export { createNoNewlineElement };
24
+ //# sourceMappingURL=createNoNewlineElement.js.map
@@ -0,0 +1,28 @@
1
+ import { createHastElement } from "./hast_utils.js";
2
+
3
+ //#region src/utils/createPreElement.ts
4
+ function createPreElement(options) {
5
+ return createHastElement({
6
+ tagName: "pre",
7
+ properties: createPreWrapperProperties(options)
8
+ });
9
+ }
10
+ function createPreWrapperProperties({ diffIndicators, disableBackground, disableLineNumbers, overflow, split, themeType, themeStyles, totalLines }) {
11
+ const properties = {
12
+ "data-diffs": "",
13
+ "data-type": split ? "split" : "file",
14
+ "data-overflow": overflow,
15
+ "data-disable-line-numbers": disableLineNumbers ? "" : void 0,
16
+ "data-background": !disableBackground ? "" : void 0,
17
+ "data-indicators": diffIndicators === "bars" || diffIndicators === "classic" ? diffIndicators : void 0,
18
+ "data-theme-type": themeType !== "system" ? themeType : void 0,
19
+ style: themeStyles,
20
+ tabIndex: 0
21
+ };
22
+ properties.style += `--diffs-min-number-column-width-default:${`${totalLines}`.length}ch;`;
23
+ return properties;
24
+ }
25
+
26
+ //#endregion
27
+ export { createPreElement, createPreWrapperProperties };
28
+ //# sourceMappingURL=createPreElement.js.map
@@ -0,0 +1,20 @@
1
+ //#region src/utils/createRowNodes.ts
2
+ function createRowNodes(line) {
3
+ const row = document.createElement("div");
4
+ row.dataset.line = `${line}`;
5
+ const lineColumn = document.createElement("div");
6
+ lineColumn.dataset.columnNumber = "";
7
+ lineColumn.textContent = `${line}`;
8
+ const content = document.createElement("div");
9
+ content.dataset.columnContent = "";
10
+ row.appendChild(lineColumn);
11
+ row.appendChild(content);
12
+ return {
13
+ row,
14
+ content
15
+ };
16
+ }
17
+
18
+ //#endregion
19
+ export { createRowNodes };
20
+ //# sourceMappingURL=createRowNodes.js.map
@@ -0,0 +1,69 @@
1
+ import { createHastElement, createIconElement, createTextNodeElement } from "./hast_utils.js";
2
+
3
+ //#region src/utils/createSeparator.ts
4
+ function createExpandButton(type) {
5
+ return createHastElement({
6
+ tagName: "div",
7
+ children: [createIconElement({
8
+ name: type === "both" ? "diffs-icon-expand-all" : "diffs-icon-expand",
9
+ properties: { "data-icon": "" }
10
+ })],
11
+ properties: {
12
+ "data-expand-button": "",
13
+ "data-expand-both": type === "both" ? "" : void 0,
14
+ "data-expand-up": type === "up" ? "" : void 0,
15
+ "data-expand-down": type === "down" ? "" : void 0
16
+ }
17
+ });
18
+ }
19
+ function createSeparator({ type, content, expandIndex, chunked = false, slotName, isFirstHunk, isLastHunk }) {
20
+ const children = [];
21
+ if (type === "metadata" && content != null) children.push(createHastElement({
22
+ tagName: "div",
23
+ children: [createTextNodeElement(content)],
24
+ properties: { "data-separator-wrapper": "" }
25
+ }));
26
+ if (type === "line-info" && content != null) {
27
+ const contentChildren = [];
28
+ if (expandIndex != null) if (!chunked) contentChildren.push(createExpandButton(!isFirstHunk && !isLastHunk ? "both" : isFirstHunk ? "down" : "up"));
29
+ else {
30
+ if (!isFirstHunk) contentChildren.push(createExpandButton("up"));
31
+ if (!isLastHunk) contentChildren.push(createExpandButton("down"));
32
+ }
33
+ contentChildren.push(createHastElement({
34
+ tagName: "div",
35
+ children: [createHastElement({
36
+ tagName: "span",
37
+ children: [createTextNodeElement(content)],
38
+ properties: { "data-unmodified-lines": "" }
39
+ })],
40
+ properties: { "data-separator-content": "" }
41
+ }));
42
+ children.push(createHastElement({
43
+ tagName: "div",
44
+ children: contentChildren,
45
+ properties: {
46
+ "data-separator-wrapper": "",
47
+ "data-separator-multi-button": contentChildren.length > 2 ? "" : void 0
48
+ }
49
+ }));
50
+ }
51
+ if (type === "custom" && slotName != null) children.push(createHastElement({
52
+ tagName: "slot",
53
+ properties: { name: slotName }
54
+ }));
55
+ return createHastElement({
56
+ tagName: "div",
57
+ children,
58
+ properties: {
59
+ "data-separator": children.length === 0 ? "" : type,
60
+ "data-expand-index": expandIndex,
61
+ "data-separator-first": isFirstHunk ? "" : void 0,
62
+ "data-separator-last": isLastHunk ? "" : void 0
63
+ }
64
+ });
65
+ }
66
+
67
+ //#endregion
68
+ export { createSeparator };
69
+ //# sourceMappingURL=createSeparator.js.map
@@ -0,0 +1,13 @@
1
+ import { getTokenStyleObject, stringifyTokenStyle } from "shiki";
2
+
3
+ //#region src/utils/createSpanNodeFromToken.ts
4
+ function createSpanFromToken(token) {
5
+ const element = document.createElement("span");
6
+ element.style = stringifyTokenStyle(token.htmlStyle ?? getTokenStyleObject(token));
7
+ element.textContent = token.content;
8
+ return element;
9
+ }
10
+
11
+ //#endregion
12
+ export { createSpanFromToken };
13
+ //# sourceMappingURL=createSpanNodeFromToken.js.map
@@ -0,0 +1,19 @@
1
+ import { CORE_CSS_ATTRIBUTE, UNSAFE_CSS_ATTRIBUTE } from "../constants.js";
2
+ import { createHastElement, createTextNodeElement } from "./hast_utils.js";
3
+ import { wrapCoreCSS, wrapUnsafeCSS } from "./cssWrappers.js";
4
+
5
+ //#region src/utils/createStyleElement.ts
6
+ function createStyleElement(content, isCoreCSS = false) {
7
+ return createHastElement({
8
+ tagName: "style",
9
+ children: [createTextNodeElement(isCoreCSS ? wrapCoreCSS(content) : wrapUnsafeCSS(content))],
10
+ properties: {
11
+ [CORE_CSS_ATTRIBUTE]: isCoreCSS ? "" : void 0,
12
+ [UNSAFE_CSS_ATTRIBUTE]: !isCoreCSS ? "" : void 0
13
+ }
14
+ });
15
+ }
16
+
17
+ //#endregion
18
+ export { createStyleElement };
19
+ //# sourceMappingURL=createStyleElement.js.map
@@ -0,0 +1,56 @@
1
+ import { findCodeElement } from "./hast_utils.js";
2
+ import { processLine } from "./processLine.js";
3
+ import { transformerStyleToClass } from "@shikijs/transformers";
4
+
5
+ //#region src/utils/createTransformerWithState.ts
6
+ function createTransformerWithState(useCSSClasses = false) {
7
+ const state = { lineInfo: {} };
8
+ const transformers = [{
9
+ line(node) {
10
+ delete node.properties.class;
11
+ return node;
12
+ },
13
+ pre(pre) {
14
+ const code = findCodeElement(pre);
15
+ const children = [];
16
+ if (code != null) {
17
+ let index = 1;
18
+ for (const node of code.children) {
19
+ if (node.type !== "element") continue;
20
+ children.push(processLine(node, index, state));
21
+ index++;
22
+ }
23
+ code.children = children;
24
+ }
25
+ return pre;
26
+ }
27
+ }];
28
+ if (useCSSClasses) transformers.push(tokenStyleNormalizer, toClass);
29
+ return {
30
+ state,
31
+ transformers,
32
+ toClass
33
+ };
34
+ }
35
+ const toClass = transformerStyleToClass({ classPrefix: "hl-" });
36
+ const tokenStyleNormalizer = {
37
+ name: "token-style-normalizer",
38
+ tokens(lines) {
39
+ for (const line of lines) for (const token of line) {
40
+ if (token.htmlStyle != null) continue;
41
+ const style = {};
42
+ if (token.color != null) style.color = token.color;
43
+ if (token.bgColor != null) style["background-color"] = token.bgColor;
44
+ if (token.fontStyle != null && token.fontStyle !== 0) {
45
+ if ((token.fontStyle & 1) !== 0) style["font-style"] = "italic";
46
+ if ((token.fontStyle & 2) !== 0) style["font-weight"] = "bold";
47
+ if ((token.fontStyle & 4) !== 0) style["text-decoration"] = "underline";
48
+ }
49
+ if (Object.keys(style).length > 0) token.htmlStyle = style;
50
+ }
51
+ }
52
+ };
53
+
54
+ //#endregion
55
+ export { createTransformerWithState };
56
+ //# sourceMappingURL=createTransformerWithState.js.map
@@ -0,0 +1,12 @@
1
+ import { UNSAFE_CSS_ATTRIBUTE } from "../constants.js";
2
+
3
+ //#region src/utils/createUnsafeCSSStyleNode.ts
4
+ function createUnsafeCSSStyleNode() {
5
+ const node = document.createElement("style");
6
+ node.setAttribute(UNSAFE_CSS_ATTRIBUTE, "");
7
+ return node;
8
+ }
9
+
10
+ //#endregion
11
+ export { createUnsafeCSSStyleNode };
12
+ //# sourceMappingURL=createUnsafeCSSStyleNode.js.map
@@ -0,0 +1,21 @@
1
+ import style_default from "../style.js";
2
+
3
+ //#region src/utils/cssWrappers.ts
4
+ const LAYER_ORDER = `@layer base, theme, unsafe;`;
5
+ function wrapCoreCSS(mainCSS) {
6
+ return `${LAYER_ORDER}
7
+ ${style_default}
8
+ @layer theme {
9
+ ${mainCSS}
10
+ }`;
11
+ }
12
+ function wrapUnsafeCSS(unsafeCSS) {
13
+ return `${LAYER_ORDER}
14
+ @layer unsafe {
15
+ ${unsafeCSS}
16
+ }`;
17
+ }
18
+
19
+ //#endregion
20
+ export { wrapCoreCSS, wrapUnsafeCSS };
21
+ //# sourceMappingURL=cssWrappers.js.map
@@ -0,0 +1,82 @@
1
+ //#region src/utils/diffAcceptRejectHunk.ts
2
+ function diffAcceptRejectHunk(diff, hunkIndex, type) {
3
+ diff = {
4
+ ...diff,
5
+ hunks: [...diff.hunks],
6
+ oldLines: diff.oldLines != null ? [...diff.oldLines] : void 0,
7
+ newLines: diff.newLines != null ? [...diff.newLines] : void 0,
8
+ cacheKey: diff.cacheKey != null ? `${diff.cacheKey}:${type[0]}-${hunkIndex}` : void 0
9
+ };
10
+ const { newLines, oldLines } = diff;
11
+ if (newLines != null && oldLines != null) {
12
+ const hunk = diff.hunks[hunkIndex];
13
+ if (hunk == null) {
14
+ console.error({
15
+ diff,
16
+ hunkIndex
17
+ });
18
+ throw new Error(`diffResolveRejectHunk: Invalid hunk index: ${hunkIndex}`);
19
+ }
20
+ if (type === "reject") newLines.splice(hunk.additionStart - 1, hunk.additionCount, ...oldLines.slice(hunk.deletionStart - 1, hunk.deletionStart - 1 + hunk.deletionCount));
21
+ else oldLines.splice(hunk.deletionStart - 1, hunk.deletionCount, ...newLines.slice(hunk.additionStart - 1, hunk.additionStart - 1 + hunk.additionCount));
22
+ }
23
+ let deletionOffset = 0;
24
+ let additionOffset = 0;
25
+ let splitOffset = 0;
26
+ let unifiedOffset = 0;
27
+ for (let i = hunkIndex; i < diff.hunks.length; i++) {
28
+ let hunk = diff.hunks[i];
29
+ if (hunk == null) {
30
+ console.error({
31
+ hunk,
32
+ i,
33
+ hunkIndex,
34
+ diff
35
+ });
36
+ throw new Error("diffResolveRejectHunk: iterating through hunks, hunk doesnt exist...");
37
+ }
38
+ hunk = { ...hunk };
39
+ diff.hunks[i] = hunk;
40
+ if (i === hunkIndex) {
41
+ const newContent = {
42
+ type: "context",
43
+ lines: [],
44
+ noEOFCR: false
45
+ };
46
+ for (const content of hunk.hunkContent) if (content.type === "context") {
47
+ newContent.lines.push(...content.lines);
48
+ newContent.noEOFCR = content.noEOFCR;
49
+ } else if (type === "accept") {
50
+ newContent.lines.push(...content.additions);
51
+ newContent.noEOFCR = content.noEOFCRAdditions;
52
+ } else if (type === "reject") {
53
+ newContent.lines.push(...content.deletions);
54
+ newContent.noEOFCR = content.noEOFCRDeletions;
55
+ }
56
+ const lineCount = newContent.lines.length;
57
+ hunk.hunkContent = [newContent];
58
+ splitOffset = lineCount - hunk.splitLineCount;
59
+ hunk.splitLineCount = lineCount;
60
+ unifiedOffset = lineCount - hunk.unifiedLineCount;
61
+ hunk.unifiedLineCount = lineCount;
62
+ deletionOffset = lineCount - hunk.deletionCount;
63
+ hunk.deletionCount = lineCount;
64
+ hunk.deletionLines = 0;
65
+ additionOffset = lineCount - hunk.additionCount;
66
+ hunk.additionCount = lineCount;
67
+ hunk.additionLines = 0;
68
+ diff.splitLineCount += splitOffset;
69
+ diff.unifiedLineCount += unifiedOffset;
70
+ } else {
71
+ hunk.splitLineStart += splitOffset;
72
+ hunk.unifiedLineStart += unifiedOffset;
73
+ hunk.additionStart += additionOffset;
74
+ hunk.deletionStart += deletionOffset;
75
+ }
76
+ }
77
+ return diff;
78
+ }
79
+
80
+ //#endregion
81
+ export { diffAcceptRejectHunk };
82
+ //# sourceMappingURL=diffAcceptRejectHunk.js.map
@@ -0,0 +1,8 @@
1
+ //#region src/utils/formatCSSVariablePrefix.ts
2
+ function formatCSSVariablePrefix(type) {
3
+ return `--${type === "token" ? "diffs-token" : "diffs"}-`;
4
+ }
5
+
6
+ //#endregion
7
+ export { formatCSSVariablePrefix };
8
+ //# sourceMappingURL=formatCSSVariablePrefix.js.map