Skip to content

Commit a93e17f

Browse files
wip
1 parent 445472b commit a93e17f

File tree

11 files changed

+233
-8
lines changed

11 files changed

+233
-8
lines changed

packages/svelte/eslint.config.js

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1-
import prettier from 'eslint-config-prettier';
21
import { includeIgnoreFile } from '@eslint/compat';
32
import js from '@eslint/js';
3+
import prettier from 'eslint-config-prettier';
4+
import importPlugin from 'eslint-plugin-import';
45
import svelte from 'eslint-plugin-svelte';
56
import globals from 'globals';
67
import { fileURLToPath } from 'node:url';
78
import ts from 'typescript-eslint';
9+
810
import svelteConfig from './svelte.config.js';
911

1012
const gitignorePath = fileURLToPath(new URL('./.gitignore', import.meta.url));
@@ -32,5 +34,43 @@ export default ts.config(
3234
svelteConfig
3335
}
3436
}
37+
},
38+
{
39+
files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js', '**/*.ts', '**/*.js'],
40+
extends: [importPlugin.flatConfigs.recommended, importPlugin.flatConfigs.typescript],
41+
settings: {
42+
'import/extensions': ['.js', '.ts', '.svelte'],
43+
'import/parsers': {
44+
'@typescript-eslint/parser': ['.ts', '.js', '.svelte']
45+
},
46+
'import/resolver': {
47+
typescript: {
48+
alwaysTryTypes: true
49+
}
50+
}
51+
},
52+
rules: {
53+
'import/first': 'error',
54+
55+
'import/no-duplicates': 'error',
56+
57+
'import/order': [
58+
'error',
59+
{
60+
groups: [['builtin', 'external'], 'internal', 'parent', 'sibling', 'index', 'type'],
61+
'newlines-between': 'always',
62+
alphabetize: { order: 'asc', caseInsensitive: true }
63+
}
64+
],
65+
66+
'import/newline-after-import': ['error', { count: 1 }],
67+
68+
'import/no-useless-path-segments': [
69+
'error',
70+
{
71+
noUselessIndex: true
72+
}
73+
]
74+
}
3575
}
3676
);

packages/svelte/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,14 @@
2020
"sideEffects": [
2121
"**/*.css"
2222
],
23-
"svelte": "./src/lib/index.ts",
23+
"svelte": "./dist/index.js",
2424
"types": "./dist/index.d.ts",
2525
"type": "module",
2626
"exports": {
2727
".": {
28-
"types": "./src/lib/index.ts",
29-
"svelte": "./src/lib/index.ts"
28+
"types": "./dist/index.d.ts",
29+
"svelte": "./dist/index.js",
30+
"import": "./dist/index.js"
3031
}
3132
},
3233
"dependencies": {

packages/svelte/src/lib/_base.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
@tailwind base;
2+
@tailwind components;
3+
@tailwind utilities;
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@tailwind components;
2+
@tailwind utilities;

packages/svelte/src/lib/_com.css

Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
* {
2+
box-sizing: border-box;
3+
}
4+
5+
[data-theme="light"] .diff-style-root {
6+
--diff-border--: #dedede;
7+
--diff-add-content--: #e6ffec;
8+
--diff-del-content--: #ffebe9;
9+
--diff-add-lineNumber--: #ccffd8;
10+
--diff-del-lineNumber--: #ffd7d5;
11+
--diff-plain-content--: #ffffff;
12+
--diff-expand-content--: #fafafa;
13+
--diff-plain-lineNumber--: #fafafa;
14+
--diff-expand-lineNumber--: #fafafa;
15+
--diff-plain-lineNumber-color--: #555555;
16+
--diff-expand-lineNumber-color--: #555555;
17+
--diff-hunk-content--: #ddf4ff;
18+
--diff-hunk-lineNumber--: #c7ecff;
19+
--diff-hunk-lineNumber-hover--: #0969da;
20+
--diff-add-content-highlight--: #abf2bc;
21+
--diff-del-content-highlight--: #ffb3ad;
22+
--diff-add-widget--: #0969d2;
23+
--diff-add-widget-color--: #ffffff;
24+
--diff-empty-content--: #fafafa;
25+
--diff-hunk-content-color--: #777777;
26+
27+
color: black;
28+
}
29+
30+
.diff-style-root .diff-line-syntax-raw *,
31+
[data-theme="light"] .diff-line-syntax-raw * {
32+
color: var(--diff-view-light, inherit);
33+
font-weight: var(--diff-view-light-font-weight, inherit);
34+
}
35+
36+
[data-theme="dark"] .diff-style-root {
37+
--diff-border--: #3d444d;
38+
--diff-add-content--: #14261f;
39+
--diff-del-content--: #311b1f;
40+
--diff-add-lineNumber--: #1f4429;
41+
--diff-del-lineNumber--: #552527;
42+
--diff-plain-content--: #0d1117;
43+
--diff-expand-content--: #161b22;
44+
--diff-plain-lineNumber--: #161b22;
45+
--diff-expand-lineNumber--: #161b22;
46+
--diff-plain-lineNumber-color--: #a0aaab;
47+
--diff-expand-lineNumber-color--: #a0aaab;
48+
--diff-hunk-content--: #131d2e;
49+
--diff-hunk-lineNumber--: #204274;
50+
--diff-hunk-lineNumber-hover--: #1f6feb;
51+
--diff-add-content-highlight--: #1f572d;
52+
--diff-del-content-highlight--: #80312f;
53+
--diff-add-widget--: #0969d2;
54+
--diff-add-widget-color--: #ffffff;
55+
--diff-empty-content--: #161b22;
56+
--diff-hunk-content-color--: #9298a0;
57+
58+
color: white;
59+
}
60+
61+
[data-theme="dark"] .diff-line-syntax-raw * {
62+
color: var(--diff-view-dark, inherit);
63+
font-weight: var(--diff-view-dark-font-weight, inherit);
64+
}
65+
66+
table,
67+
tr,
68+
td {
69+
border-color: transparent;
70+
border-width: 0px;
71+
text-align: left;
72+
}
73+
74+
.diff-line-old-num,
75+
.diff-line-new-num,
76+
.diff-line-num {
77+
text-align: right;
78+
}
79+
80+
.diff-style-root tr {
81+
content-visibility: auto;
82+
}
83+
84+
.diff-add-widget-wrapper {
85+
transform-origin: center;
86+
transform: translateX(-50%) !important;
87+
}
88+
89+
.diff-line-old-content .diff-add-widget-wrapper,
90+
.diff-line-new-content .diff-add-widget-wrapper {
91+
transform: translateX(50%) !important;
92+
}
93+
94+
.diff-add-widget-wrapper:hover {
95+
transform: translateX(-50%) scale(1.1) !important;
96+
}
97+
98+
.diff-line-old-content .diff-add-widget-wrapper:hover,
99+
.diff-line-new-content .diff-add-widget-wrapper:hover {
100+
transform: translateX(50%) scale(1.1) !important;
101+
}
102+
103+
.diff-widget-tooltip {
104+
position: relative;
105+
}
106+
107+
.diff-add-widget,
108+
.diff-widget-tooltip {
109+
font-family: inherit;
110+
font-feature-settings: inherit;
111+
font-variation-settings: inherit;
112+
font-size: 100%;
113+
font-weight: inherit;
114+
line-height: inherit;
115+
letter-spacing: inherit;
116+
color: inherit;
117+
margin: 0;
118+
text-transform: none;
119+
border-width: 0px;
120+
background-color: transparent;
121+
background-image: none;
122+
}
123+
124+
.diff-widget-tooltip::after {
125+
display: none;
126+
box-sizing: border-box;
127+
background-color: #555555;
128+
position: absolute;
129+
content: attr(data-title);
130+
font-size: 11px;
131+
padding: 1px 2px;
132+
border-radius: 4px;
133+
overflow: hidden;
134+
top: 50%;
135+
white-space: nowrap;
136+
transform: translateY(-50%);
137+
left: calc(100% + 8px);
138+
color: #ffffff;
139+
}
140+
141+
.diff-widget-tooltip::before {
142+
display: none;
143+
box-sizing: border-box;
144+
content: "";
145+
position: absolute;
146+
top: 50%;
147+
left: calc(100% - 2px);
148+
transform: translateY(-50%);
149+
border: 6px solid transparent;
150+
border-right-color: #555555;
151+
}
152+
153+
.diff-widget-tooltip:hover {
154+
background-color: var(--diff-hunk-lineNumber-hover--);
155+
color: white;
156+
}
157+
158+
.diff-widget-tooltip:hover::before {
159+
display: block;
160+
}
161+
162+
.diff-widget-tooltip:hover::after {
163+
display: block;
164+
}
165+
166+
.diff-line-extend-wrapper * {
167+
color: initial;
168+
}
169+
170+
.diff-line-widget-wrapper * {
171+
color: initial;
172+
}

packages/svelte/src/lib/_theme.css

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@import url(highlight.js/styles/github.css);
2+
@import url(highlight.js/styles/github-dark.css);

packages/svelte/src/lib/components/DiffView.svelte

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<script lang="ts" generics="T extends any">
22
import { diffFontSizeName, DiffModeEnum } from '@git-diff-view/utils';
3-
43
import { DiffFile, type DiffHighlighter, SplitSide } from '@git-diff-view/core';
54
import type { Snippet } from 'svelte';
65
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
@import url(./_base.css);
2+
@import url(./_com.css);
3+
@import url(./_theme.css);
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
@import url(./_base_pure.css);
2+
@import url(./_com.css);
3+
@import url(./_theme.css);

ui/solid-example/src/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import 'solid-devtools'
1+
// import 'solid-devtools'
22
/* @refresh reload */
33
import { render } from 'solid-js/web'
44

0 commit comments

Comments
 (0)