@pierre/diffs 1.3.0-beta.3 → 1.3.0-beta.4

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 (132) hide show
  1. package/dist/components/CodeView.d.ts.map +1 -1
  2. package/dist/components/File.d.ts +2 -2
  3. package/dist/components/File.d.ts.map +1 -1
  4. package/dist/components/File.js +11 -11
  5. package/dist/components/File.js.map +1 -1
  6. package/dist/components/FileDiff.d.ts +7 -4
  7. package/dist/components/FileDiff.d.ts.map +1 -1
  8. package/dist/components/FileDiff.js +56 -47
  9. package/dist/components/FileDiff.js.map +1 -1
  10. package/dist/components/UnresolvedFile.d.ts.map +1 -1
  11. package/dist/components/UnresolvedFile.js +1 -1
  12. package/dist/components/VirtualizedFile.d.ts +1 -1
  13. package/dist/components/VirtualizedFile.d.ts.map +1 -1
  14. package/dist/components/VirtualizedFile.js +7 -3
  15. package/dist/components/VirtualizedFile.js.map +1 -1
  16. package/dist/components/VirtualizedFileDiff.d.ts +2 -1
  17. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  18. package/dist/components/VirtualizedFileDiff.js +14 -0
  19. package/dist/components/VirtualizedFileDiff.js.map +1 -1
  20. package/dist/components/VirtulizerDevelopment.d.ts.map +1 -1
  21. package/dist/editor/editStack.d.ts +1 -1
  22. package/dist/editor/editor.d.ts +10 -8
  23. package/dist/editor/editor.d.ts.map +1 -1
  24. package/dist/editor/editor.js +386 -339
  25. package/dist/editor/editor.js.map +1 -1
  26. package/dist/editor/editor2.js +1 -1
  27. package/dist/editor/editor2.js.map +1 -1
  28. package/dist/editor/lineAnnotations.d.ts +2 -1
  29. package/dist/editor/lineAnnotations.d.ts.map +1 -1
  30. package/dist/editor/lineAnnotations.js +111 -1
  31. package/dist/editor/lineAnnotations.js.map +1 -1
  32. package/dist/editor/marker.d.ts +33 -0
  33. package/dist/editor/marker.d.ts.map +1 -0
  34. package/dist/editor/marker.js +185 -0
  35. package/dist/editor/marker.js.map +1 -0
  36. package/dist/editor/pieceTable.d.ts +2 -2
  37. package/dist/editor/pieceTable.d.ts.map +1 -1
  38. package/dist/editor/pieceTable.js +42 -11
  39. package/dist/editor/pieceTable.js.map +1 -1
  40. package/dist/editor/searchPanel.js +2 -2
  41. package/dist/editor/searchPanel.js.map +1 -1
  42. package/dist/editor/selection.d.ts +19 -3
  43. package/dist/editor/selection.d.ts.map +1 -1
  44. package/dist/editor/selection.js +188 -37
  45. package/dist/editor/selection.js.map +1 -1
  46. package/dist/editor/{quickEdit.d.ts → selectionAction.d.ts} +8 -8
  47. package/dist/editor/selectionAction.d.ts.map +1 -0
  48. package/dist/editor/{quickEdit.js → selectionAction.js} +18 -18
  49. package/dist/editor/selectionAction.js.map +1 -0
  50. package/dist/editor/sprite.d.ts +3 -2
  51. package/dist/editor/sprite.d.ts.map +1 -1
  52. package/dist/editor/sprite.js +9 -2
  53. package/dist/editor/sprite.js.map +1 -1
  54. package/dist/editor/textDocument.d.ts +4 -4
  55. package/dist/editor/textDocument.d.ts.map +1 -1
  56. package/dist/editor/textDocument.js +7 -7
  57. package/dist/editor/textDocument.js.map +1 -1
  58. package/dist/editor/tokenzier.js +11 -3
  59. package/dist/editor/tokenzier.js.map +1 -1
  60. package/dist/editor/utils.d.ts +3 -1
  61. package/dist/editor/utils.d.ts.map +1 -1
  62. package/dist/editor/utils.js +16 -1
  63. package/dist/editor/utils.js.map +1 -1
  64. package/dist/highlighter/shared_highlighter.js +3 -29
  65. package/dist/highlighter/shared_highlighter.js.map +1 -1
  66. package/dist/highlighter/themes/attachResolvedThemes.js +4 -3
  67. package/dist/highlighter/themes/attachResolvedThemes.js.map +1 -1
  68. package/dist/highlighter/themes/cleanUpResolvedThemes.js +3 -2
  69. package/dist/highlighter/themes/cleanUpResolvedThemes.js.map +1 -1
  70. package/dist/highlighter/themes/constants.d.ts +1 -7
  71. package/dist/highlighter/themes/constants.d.ts.map +1 -1
  72. package/dist/highlighter/themes/constants.js +1 -4
  73. package/dist/highlighter/themes/constants.js.map +1 -1
  74. package/dist/highlighter/themes/getResolvedOrResolveTheme.js +2 -2
  75. package/dist/highlighter/themes/getResolvedOrResolveTheme.js.map +1 -1
  76. package/dist/highlighter/themes/getResolvedThemes.js +2 -8
  77. package/dist/highlighter/themes/getResolvedThemes.js.map +1 -1
  78. package/dist/highlighter/themes/hasResolvedThemes.js +2 -3
  79. package/dist/highlighter/themes/hasResolvedThemes.js.map +1 -1
  80. package/dist/highlighter/themes/registerCustomCSSVariableTheme.js +1 -1
  81. package/dist/highlighter/themes/registerCustomTheme.d.ts +5 -3
  82. package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -1
  83. package/dist/highlighter/themes/registerCustomTheme.js +15 -5
  84. package/dist/highlighter/themes/registerCustomTheme.js.map +1 -1
  85. package/dist/highlighter/themes/resolveTheme.js +6 -27
  86. package/dist/highlighter/themes/resolveTheme.js.map +1 -1
  87. package/dist/highlighter/themes/resolveThemes.js +5 -12
  88. package/dist/highlighter/themes/resolveThemes.js.map +1 -1
  89. package/dist/highlighter/themes/themeResolution.d.ts +8 -0
  90. package/dist/highlighter/themes/themeResolution.d.ts.map +1 -0
  91. package/dist/highlighter/themes/themeResolution.js +22 -0
  92. package/dist/highlighter/themes/themeResolution.js.map +1 -0
  93. package/dist/highlighter/themes/themeResolver.d.ts +8 -0
  94. package/dist/highlighter/themes/themeResolver.d.ts.map +1 -0
  95. package/dist/highlighter/themes/themeResolver.js +8 -0
  96. package/dist/highlighter/themes/themeResolver.js.map +1 -0
  97. package/dist/index.d.ts +4 -4
  98. package/dist/index.js +3 -3
  99. package/dist/react/index.d.ts +2 -2
  100. package/dist/react/jsx.d.ts.map +1 -1
  101. package/dist/react/utils/useFileDiffInstance.js +1 -0
  102. package/dist/react/utils/useFileDiffInstance.js.map +1 -1
  103. package/dist/renderers/DiffHunksRenderer.d.ts +4 -1
  104. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  105. package/dist/renderers/DiffHunksRenderer.js +134 -10
  106. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  107. package/dist/renderers/FileRenderer.d.ts +2 -2
  108. package/dist/renderers/FileRenderer.d.ts.map +1 -1
  109. package/dist/renderers/FileRenderer.js +5 -5
  110. package/dist/renderers/FileRenderer.js.map +1 -1
  111. package/dist/ssr/index.d.ts +2 -2
  112. package/dist/types.d.ts +9 -7
  113. package/dist/types.d.ts.map +1 -1
  114. package/dist/utils/getHighlighterThemeStyles.js +16 -12
  115. package/dist/utils/getHighlighterThemeStyles.js.map +1 -1
  116. package/dist/utils/parsePatchFiles.js +93 -4
  117. package/dist/utils/parsePatchFiles.js.map +1 -1
  118. package/dist/utils/updateDiffHunks.d.ts +13 -0
  119. package/dist/utils/updateDiffHunks.d.ts.map +1 -0
  120. package/dist/utils/updateDiffHunks.js +171 -0
  121. package/dist/utils/updateDiffHunks.js.map +1 -0
  122. package/dist/utils/virtualDiffLayout.d.ts +2 -1
  123. package/dist/utils/virtualDiffLayout.d.ts.map +1 -1
  124. package/dist/utils/virtualDiffLayout.js +9 -1
  125. package/dist/utils/virtualDiffLayout.js.map +1 -1
  126. package/dist/worker/worker-portable.js +727 -22
  127. package/dist/worker/worker-portable.js.map +1 -1
  128. package/dist/worker/worker.js +23 -15
  129. package/dist/worker/worker.js.map +1 -1
  130. package/package.json +2 -1
  131. package/dist/editor/quickEdit.d.ts.map +0 -1
  132. package/dist/editor/quickEdit.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pierre/diffs",
3
- "version": "1.3.0-beta.3",
3
+ "version": "1.3.0-beta.4",
4
4
  "license": "apache-2.0",
5
5
  "files": [
6
6
  "dist",
@@ -72,6 +72,7 @@
72
72
  },
73
73
  "dependencies": {
74
74
  "@pierre/theme": "1.0.3",
75
+ "@pierre/theming": "0.0.1",
75
76
  "@shikijs/transformers": "^3.0.0",
76
77
  "diff": "8.0.3",
77
78
  "hast-util-to-html": "9.0.5",
@@ -1 +0,0 @@
1
- {"version":3,"file":"quickEdit.d.ts","names":["EditorSelection","TextDocument","TextEdit","QuickEditContext","LAnnotation","QuickEditWidget","HTMLElement","DocumentFragment"],"sources":["../../src/editor/quickEdit.d.ts"],"sourcesContent":["import type { EditorSelection } from './selection';\nimport type { TextDocument, TextEdit } from './textDocument';\nexport interface QuickEditContext<LAnnotation> {\n /** The current selection. */\n selection: EditorSelection;\n /** The text document. */\n textDocument: TextDocument<LAnnotation>;\n /** Applies the edits to the text document. */\n applyEdits: (edits: TextEdit[]) => void;\n /** Gets the text of the current selection. */\n getSelectionText: () => string;\n /** Replaces the text of the current selection. */\n replaceSelectionText: (text: string) => void;\n /** Closes the quick edit. */\n close: () => void;\n}\nexport declare class QuickEditWidget {\n #private;\n line: number;\n static renderIcon(x: number, y: number, container: HTMLElement | DocumentFragment, onclick: () => void): HTMLElement;\n constructor(line: number, quickEditElement: HTMLElement, fileContainer: HTMLElement, leadingWhitespaces: number | undefined, handleDomResize: () => void);\n render(containerElement: HTMLElement): void;\n cleanup(): void;\n}\n//# sourceMappingURL=quickEdit.d.ts.map"],"mappings":";;;;UAEiBG;;EAAAA,SAAAA,EAEFH,eAFkBI;EAElBJ;EAEgBI,YAAAA,EAAbH,YAAaG,CAAAA,WAAAA,CAAAA;EAAbH;EAEMC,UAAAA,EAAAA,CAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAAA,GAAAA,IAAAA;EAAQ;EAQXG,gBAAAA,EAAe,GAAA,GAAA,MAAA;EAGmBC;EAAcC,oBAAAA,EAAAA,CAAAA,IAAAA,EAAAA,MAAAA,EAAAA,GAAAA,IAAAA;EAAwCD;EAC7DA,KAAAA,EAAAA,GAAAA,GAAAA,IAAAA;;AACnBA,cALRD,eAAAA,CAKQC;EAAW,CAAA,OAAA;;qDAFeA,cAAcC,wCAAwCD;8CAC7DA,4BAA4BA;2BAC/CA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"quickEdit.js","names":["line: number","#slot","#gutterBuffer","#quickEditContainer","#observer","#handleDomResize"],"sources":["../../src/editor/quickEdit.ts"],"sourcesContent":["import type { EditorSelection } from './selection';\nimport { getEditorIconSvg } from './sprite';\nimport type { TextDocument, TextEdit } from './textDocument';\nimport { h } from './utils';\n\nexport interface QuickEditContext<LAnnotation> {\n /** The current selection. */\n selection: EditorSelection;\n /** The text document. */\n textDocument: TextDocument<LAnnotation>;\n /** Applies the edits to the text document. */\n applyEdits: (edits: TextEdit[]) => void;\n /** Gets the text of the current selection. */\n getSelectionText: () => string;\n /** Replaces the text of the current selection. */\n replaceSelectionText: (text: string) => void;\n /** Closes the quick edit. */\n close: () => void;\n}\n\nexport class QuickEditWidget {\n static renderIcon(\n x: number,\n y: number,\n container: HTMLElement | DocumentFragment,\n onclick: () => void\n ): HTMLElement {\n return h(\n 'div',\n {\n dataset: { quickEditIcon: '', visible: 'false' },\n title: 'Quick Edit',\n style: {\n transform: `translateY(${y}px) translateX(${x}px)`,\n },\n innerHTML: getEditorIconSvg('quick'),\n onclick,\n },\n container\n );\n }\n\n #gutterBuffer: HTMLElement;\n #quickEditContainer: HTMLElement;\n #slot: HTMLElement;\n #observer: ResizeObserver;\n #handleDomResize: () => void;\n\n constructor(\n public line: number,\n quickEditElement: HTMLElement,\n fileContainer: HTMLElement,\n leadingWhitespaces = 0,\n handleDomResize: () => void\n ) {\n const slotName = 'quick-edit-' + line;\n this.#slot = h(\n 'div',\n {\n dataset: 'quickEditSlot',\n slot: slotName,\n style: 'white-space: normal',\n children: [quickEditElement],\n },\n fileContainer\n );\n this.#gutterBuffer = h('div', {\n dataset: { gutterBuffer: 'quickEdit', bufferSize: '1' },\n style: 'grid-row: span 1',\n });\n this.#quickEditContainer = h('div', {\n dataset: { quickEdit: String(line) },\n style: {\n paddingInlineStart: leadingWhitespaces + 1 + 'ch', // +1 align css `padding-inline`\n },\n contentEditable: 'false',\n children: [h('slot', { name: slotName })],\n });\n this.#observer = new ResizeObserver(handleDomResize);\n this.#observer.observe(this.#slot);\n this.#handleDomResize = handleDomResize;\n }\n\n render(containerElement: HTMLElement): void {\n const gutterElement =\n containerElement.previousElementSibling as HTMLElement | null;\n const lineNumber = this.line + 1;\n const gutterLineElement = gutterElement?.querySelector<HTMLElement>(\n `[data-column-number=\"${lineNumber}\"]`\n );\n const contentLineElement = containerElement.querySelector<HTMLElement>(\n `[data-line=\"${lineNumber}\"]`\n );\n if (\n gutterElement != null &&\n gutterLineElement != null &&\n contentLineElement != null\n ) {\n gutterLineElement.after(this.#gutterBuffer);\n contentLineElement.after(this.#quickEditContainer);\n gutterElement.style.gridRow = 'span ' + gutterElement.children.length;\n containerElement.style.gridRow =\n 'span ' + containerElement.children.length;\n this.#handleDomResize();\n }\n }\n\n cleanup(): void {\n const gutter = this.#gutterBuffer.parentElement;\n const content = this.#quickEditContainer.parentElement;\n\n this.#gutterBuffer.remove();\n this.#quickEditContainer.remove();\n\n if (gutter != null && content != null) {\n gutter.style.gridRow = 'span ' + gutter.children.length;\n content.style.gridRow = 'span ' + content.children.length;\n }\n this.#handleDomResize();\n\n this.#slot.remove();\n this.#observer.disconnect();\n }\n}\n"],"mappings":";;;;AAoBA,IAAa,kBAAb,MAA6B;CAC3B,OAAO,WACL,GACA,GACA,WACA,SACa;AACb,SAAO,EACL,OACA;GACE,SAAS;IAAE,eAAe;IAAI,SAAS;IAAS;GAChD,OAAO;GACP,OAAO,EACL,WAAW,cAAc,EAAE,iBAAiB,EAAE,MAC/C;GACD,WAAW,iBAAiB,QAAQ;GACpC;GACD,EACD,UACD;;CAGH;CACA;CACA;CACA;CACA;CAEA,YACE,AAAOA,MACP,kBACA,eACA,qBAAqB,GACrB,iBACA;EALO;EAMP,MAAM,WAAW,gBAAgB;AACjC,QAAKC,OAAQ,EACX,OACA;GACE,SAAS;GACT,MAAM;GACN,OAAO;GACP,UAAU,CAAC,iBAAiB;GAC7B,EACD,cACD;AACD,QAAKC,eAAgB,EAAE,OAAO;GAC5B,SAAS;IAAE,cAAc;IAAa,YAAY;IAAK;GACvD,OAAO;GACR,CAAC;AACF,QAAKC,qBAAsB,EAAE,OAAO;GAClC,SAAS,EAAE,WAAW,OAAO,KAAK,EAAE;GACpC,OAAO,EACL,oBAAoB,qBAAqB,IAAI,MAC9C;GACD,iBAAiB;GACjB,UAAU,CAAC,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC,CAAC;GAC1C,CAAC;AACF,QAAKC,WAAY,IAAI,eAAe,gBAAgB;AACpD,QAAKA,SAAU,QAAQ,MAAKH,KAAM;AAClC,QAAKI,kBAAmB;;CAG1B,OAAO,kBAAqC;EAC1C,MAAM,gBACJ,iBAAiB;EACnB,MAAM,aAAa,KAAK,OAAO;EAC/B,MAAM,oBAAoB,eAAe,cACvC,wBAAwB,WAAW,IACpC;EACD,MAAM,qBAAqB,iBAAiB,cAC1C,eAAe,WAAW,IAC3B;AACD,MACE,iBAAiB,QACjB,qBAAqB,QACrB,sBAAsB,MACtB;AACA,qBAAkB,MAAM,MAAKH,aAAc;AAC3C,sBAAmB,MAAM,MAAKC,mBAAoB;AAClD,iBAAc,MAAM,UAAU,UAAU,cAAc,SAAS;AAC/D,oBAAiB,MAAM,UACrB,UAAU,iBAAiB,SAAS;AACtC,SAAKE,iBAAkB;;;CAI3B,UAAgB;EACd,MAAM,SAAS,MAAKH,aAAc;EAClC,MAAM,UAAU,MAAKC,mBAAoB;AAEzC,QAAKD,aAAc,QAAQ;AAC3B,QAAKC,mBAAoB,QAAQ;AAEjC,MAAI,UAAU,QAAQ,WAAW,MAAM;AACrC,UAAO,MAAM,UAAU,UAAU,OAAO,SAAS;AACjD,WAAQ,MAAM,UAAU,UAAU,QAAQ,SAAS;;AAErD,QAAKE,iBAAkB;AAEvB,QAAKJ,KAAM,QAAQ;AACnB,QAAKG,SAAU,YAAY"}