Skip to content

Commit 7d74c22

Browse files
authored
Tailwind CSS v4 (#562)
* Initial migration to Tailwind CSS v4 using `npx @tailwindcss/upgrade` (and some manual tweaks) * Fix Gooey after bad tailwind upgrade * fix: Fix theme page (svelte-check) by adding `@reference '../app.css` * Format project (fix lint errors) * fix(docs): Fix blur input labels (@tailwindcss/upgrade) * Update `@layerstack/tailwind` and replace `tailwind.config.cjs` with css-based config * Remove custom theming page (for now) * Add changeset * Update `@layerstack/*` packages to `-next` (Tailwind 4) versions * Update tailwind 4 to latest * fix(TextField): refine classes to for tailwind 4 changes * docs(Gooey): Replace custom `bg-gradient-radial` with built-in `bg-radial` (tailwind 4)
1 parent e95f65f commit 7d74c22

File tree

91 files changed

+841
-1007
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+841
-1007
lines changed

.changeset/ready-planets-deny.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'svelte-ux': major
3+
---
4+
5+
Tailwind 4 support

packages/svelte-ux/package.json

+7-7
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@
2525
"@sveltejs/kit": "^2.17.3",
2626
"@sveltejs/package": "^2.3.10",
2727
"@sveltejs/vite-plugin-svelte": "5.0.3",
28+
"@tailwindcss/postcss": "^4.0.12",
2829
"@tailwindcss/typography": "^0.5.16",
2930
"@types/culori": "^2.1.1",
3031
"@types/d3-array": "^3.2.1",
3132
"@types/d3-scale": "^4.0.9",
3233
"@types/lodash-es": "^4.17.12",
3334
"@types/prismjs": "^1.26.5",
3435
"@vitest/coverage-v8": "^3.0.7",
35-
"autoprefixer": "^10.4.20",
3636
"daisyui": "^4.12.24",
3737
"marked": "^15.0.7",
3838
"mdsvex": "^0.12.3",
@@ -43,7 +43,7 @@
4343
"svelte": "5.20.4",
4444
"svelte-check": "^4.1.4",
4545
"svelte2tsx": "^0.7.34",
46-
"tailwindcss": "^3.4.17",
46+
"tailwindcss": "^4.0.12",
4747
"tslib": "^2.8.1",
4848
"typescript": "^5.7.3",
4949
"unist-util-visit": "^5.0.0",
@@ -54,11 +54,11 @@
5454
"dependencies": {
5555
"@floating-ui/dom": "^1.6.13",
5656
"@fortawesome/fontawesome-common-types": "^6.7.2",
57-
"@layerstack/svelte-actions": "^1.0.0",
58-
"@layerstack/svelte-stores": "^1.0.1",
59-
"@layerstack/svelte-table": "^1.0.0",
60-
"@layerstack/tailwind": "^1.0.0",
61-
"@layerstack/utils": "^1.0.0",
57+
"@layerstack/svelte-actions": "^1.0.1-next.0",
58+
"@layerstack/svelte-stores": "^1.0.2-next.0",
59+
"@layerstack/svelte-table": "^1.0.1-next.0",
60+
"@layerstack/tailwind": "^2.0.0-next.0",
61+
"@layerstack/utils": "^1.1.0-next.0",
6262
"@mdi/js": "^7.4.47",
6363
"culori": "^4.0.1",
6464
"d3-array": "^3.2.4",

packages/svelte-ux/postcss.config.cjs

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
module.exports = {
22
plugins: {
3-
'tailwindcss/nesting': {},
4-
tailwindcss: {},
5-
autoprefixer: {},
3+
'@tailwindcss/postcss': {},
64
},
75
};

packages/svelte-ux/src/docs/Blockquote.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<div
88
class={cls(
9-
'bg-primary/10 border border-l-[6px] border-primary/30 border-l-primary text-primary px-4 py-2 my-4 rounded flex items-center gap-2 text-sm',
9+
'bg-primary/10 border border-l-[6px] border-primary/30 border-l-primary text-primary px-4 py-2 my-4 rounded-sm flex items-center gap-2 text-sm',
1010
'[&>a]:font-medium [&>a]:underline [&>a]:decoration-dashed [&>a]:decoration-primary/50 [&>a]:underline-offset-2'
1111
)}
1212
>

packages/svelte-ux/src/docs/ViewSourceButton.svelte

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
<Dialog
2121
{open}
2222
on:close={toggleOff}
23-
class="max-h-[98dvh] md:max-h-[90dvh] max-w-[98vw] md:max-w-[90vw] grid grid-rows-[auto,1fr,auto]"
23+
class="max-h-[98dvh] md:max-h-[90dvh] max-w-[98vw] md:max-w-[90vw] grid grid-rows-[auto_1fr_auto]"
2424
>
25-
<div class="grid grid-cols-[1fr,auto] gap-3 items-center p-4">
25+
<div class="grid grid-cols-[1fr_auto] gap-3 items-center p-4">
2626
<div class="overflow-auto">
2727
<div class="text-lg font-semibold">{label}</div>
2828
<div class="text-xs text-surface-content/50 truncate">{href}</div>

packages/svelte-ux/src/lib/components/AppLayout.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
headerPosition === 'full' || temporaryDrawer
3535
? '[&>header]:w-full'
3636
: '[&>header]:w-[calc(100%-var(--drawerWidth))] [&>header]:left-[var(--drawerWidth)] [&>header]:duration-500',
37-
'[&>main]:md:ml-[var(--drawerWidth)] [&>main]:mt-[var(--headerHeight)] [&>main]:transition-[margin] [&>main]:duration-500',
37+
'md:[&>main]:ml-(--drawerWidth) [&>main]:mt-[var(--headerHeight)] [&>main]:transition-[margin] [&>main]:duration-500',
3838
/* Fix scrolling offset for headings (h1, ...) or other elements with an id set (`<a href="#id">`) */
3939
'[:where(&_[id])]:scroll-m-[var(--headerHeight)]',
4040
settingsClasses.root,

packages/svelte-ux/src/lib/components/Avatar.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<div
1515
class={cls(
1616
'Avatar',
17-
'rounded-full inline-flex items-center justify-center flex-shrink-0',
17+
'rounded-full inline-flex items-center justify-center shrink-0',
1818
{
1919
sm: 'w-6 h-6',
2020
md: 'w-10 h-10',

packages/svelte-ux/src/lib/components/Backdrop.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
class={cls(
2020
'Backdrop',
2121
'fixed top-0 bottom-0 left-0 right-0 flex items-center justify-center bg-surface-content/50 dark:bg-surface-300/70',
22-
blur && 'backdrop-blur-sm',
22+
blur && 'backdrop-blur-xs',
2323
settingsClasses.root,
2424
className
2525
)}

0 commit comments

Comments
 (0)