summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/components/diffview.module.css
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-05-30 20:47:56 -0400
committerDax Raad <[email protected]>2025-05-30 20:48:36 -0400
commitf3da73553c45f17e04b1e77cb13eb0fca714d1bd (patch)
treea24317a19e1ab2a89da50db669dc6894f15d00d1 /packages/web/src/components/diffview.module.css
parent9a26b3058ffc1023e5c7e54b6d571c903d15888e (diff)
downloadopencode-f3da73553c45f17e04b1e77cb13eb0fca714d1bd.tar.gz
opencode-f3da73553c45f17e04b1e77cb13eb0fca714d1bd.zip
sync
Diffstat (limited to 'packages/web/src/components/diffview.module.css')
-rw-r--r--packages/web/src/components/diffview.module.css80
1 files changed, 80 insertions, 0 deletions
diff --git a/packages/web/src/components/diffview.module.css b/packages/web/src/components/diffview.module.css
new file mode 100644
index 000000000..1a0e6c523
--- /dev/null
+++ b/packages/web/src/components/diffview.module.css
@@ -0,0 +1,80 @@
+.diff {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ border: 1px solid var(--sl-color-divider);
+ background-color: var(--sl-color-bg-surface);
+ border-radius: 0.25rem;
+}
+
+.column {
+ display: flex;
+ flex-direction: column;
+ overflow-x: auto;
+ min-width: 0;
+ align-items: flex-start;
+
+ &:first-child {
+ border-right: 1px solid var(--sl-color-divider);
+ }
+
+ & > [data-section="cell"]:first-child {
+ padding-top: 0.5rem;
+ }
+ & > [data-section="cell"]:last-child {
+ padding-bottom: 0.5rem;
+ }
+}
+
+[data-section="cell"] {
+ position: relative;
+ flex: none;
+ width: max-content;
+ padding: 0.1875rem 0.5rem 0.1875rem 1.8ch;
+ margin: 0;
+
+ pre {
+ background-color: var(--sl-color-bg-surface) !important;
+ white-space: pre;
+
+ code > span:empty::before {
+ content: "\00a0";
+ white-space: pre;
+ display: inline-block;
+ width: 0;
+ }
+ }
+}
+
+[data-diff-type="removed"] {
+ background-color: var(--sl-color-red-low);
+ min-width: 100%;
+
+ pre {
+ background-color: var(--sl-color-red-low) !important;
+ }
+
+ &::before {
+ content: "-";
+ position: absolute;
+ left: 0.5ch;
+ user-select: none;
+ color: var(--sl-color-red-high);
+ }
+}
+
+[data-diff-type="added"] {
+ background-color: var(--sl-color-green-low);
+ min-width: 100%;
+
+ pre {
+ background-color: var(--sl-color-green-low) !important;
+ }
+
+ &::before {
+ content: "+";
+ position: absolute;
+ left: 0.6ch;
+ user-select: none;
+ color: var(--sl-color-green-high);
+ }
+}