From bade8c70748514167e3a3aa1807c0edc1fd0fa1e Mon Sep 17 00:00:00 2001 From: Alexandru Paduraru Date: Wed, 23 Jul 2025 16:31:51 +0300 Subject: [PATCH 01/22] update to tw4 - react / html / site --- apps/site/package.json | 6 +- apps/site/postcss.config.js | 3 +- apps/site/src/app/docs/[...slug]/page.tsx | 2 +- .../src/app/docs/content/html/accordion.mdx | 6 +- apps/site/src/app/docs/content/html/alert.mdx | 8 +-- .../app/docs/content/html/button-group.mdx | 30 ++++---- .../site/src/app/docs/content/html/button.mdx | 12 ++-- apps/site/src/app/docs/content/html/card.mdx | 52 +++++++------- apps/site/src/app/docs/content/html/chip.mdx | 4 +- .../src/app/docs/content/html/gallery.mdx | 12 ++-- .../src/app/docs/content/html/icon-button.mdx | 6 +- apps/site/src/app/docs/content/html/input.mdx | 42 +++++------ .../site/src/app/docs/content/html/navbar.mdx | 24 +++---- .../site/src/app/docs/content/html/switch.mdx | 2 +- apps/site/src/app/docs/content/html/table.mdx | 52 +++++++------- .../src/app/docs/content/html/textarea.mdx | 34 ++++----- .../src/app/docs/content/react/accordion.mdx | 6 +- .../site/src/app/docs/content/react/alert.mdx | 2 +- .../app/docs/content/react/button-group.mdx | 2 +- .../src/app/docs/content/react/button.mdx | 2 +- apps/site/src/app/docs/content/react/card.mdx | 24 +++---- apps/site/src/app/docs/content/react/chip.mdx | 2 +- .../src/app/docs/content/react/dialog.mdx | 2 +- .../src/app/docs/content/react/dropdown.mdx | 6 +- .../app/docs/content/react/guide/astro.mdx | 71 +++++++++++++++++-- .../src/app/docs/content/react/guide/cra.mdx | 64 +++++++++++++---- .../app/docs/content/react/guide/gatsby.mdx | 48 +++++++++++++ .../src/app/docs/content/react/guide/next.mdx | 62 ++++++++++++++++ .../app/docs/content/react/guide/remix.mdx | 48 +++++++++++++ .../src/app/docs/content/react/guide/vite.mdx | 64 ++++++++++++++--- .../app/docs/content/react/icon-button.mdx | 2 +- .../site/src/app/docs/content/react/image.mdx | 2 +- .../site/src/app/docs/content/react/input.mdx | 2 +- apps/site/src/app/docs/content/react/menu.mdx | 6 +- .../site/src/app/docs/content/react/modal.mdx | 2 +- .../src/app/docs/content/react/navbar.mdx | 22 +++--- .../docs/content/react/plugins/carousel.mdx | 8 +-- .../content/react/plugins/text-editor.mdx | 4 +- .../src/app/docs/content/react/popover.mdx | 2 +- .../src/app/docs/content/react/timeline.mdx | 6 +- apps/site/src/app/globals.css | 11 +-- apps/site/src/components/code-preview.tsx | 2 +- .../site/src/components/component-preview.tsx | 2 +- .../docs-html/alert/alert-dismissible.tsx | 2 +- .../docs-html/alert/alert-variants.tsx | 2 +- .../docs-html/alert/alert-with-content.tsx | 2 +- .../docs-html/alert/alert-with-list.tsx | 2 +- .../button-group/block-level-button-group.tsx | 6 +- .../button-group/button-group-variants.tsx | 6 +- .../button-group/button-group-with-icon.tsx | 6 +- .../button-group/pill-button-group.tsx | 6 +- .../docs-html/button/block-level-button.tsx | 2 +- .../docs-html/button/button-as-link.tsx | 2 +- .../docs-html/button/button-loading.tsx | 2 +- .../docs-html/button/button-variants.tsx | 2 +- .../docs-html/button/button-with-icon.tsx | 2 +- .../docs-html/button/pill-button.tsx | 2 +- .../docs-html/card/background-blog-card.tsx | 4 +- .../components/docs-html/card/blog-card.tsx | 4 +- .../docs-html/card/booking-card.tsx | 28 ++++---- .../docs-html/card/horizontal-card.tsx | 2 +- .../components/docs-html/card/login-card.tsx | 4 +- .../docs-html/card/profile-card.tsx | 6 +- .../docs-html/card/testimonial-card.tsx | 2 +- .../components/docs-html/chip/chip-icon.tsx | 2 +- .../docs-html/chip/chip-variants.tsx | 2 +- .../docs-html/gallery/gallery-with-tab.tsx | 12 ++-- .../icon-button/icon-button-as-link.tsx | 2 +- .../icon-button/icon-button-variants.tsx | 2 +- .../icon-button/rounded-icon-button.tsx | 2 +- .../docs-html/input/input-colors.tsx | 12 ++-- .../docs-html/input/input-custom-styles.tsx | 2 +- .../components/docs-html/input/input-demo.tsx | 2 +- .../docs-html/input/input-disabled.tsx | 2 +- .../docs-html/input/input-sizes.tsx | 6 +- .../docs-html/input/input-with-button.tsx | 2 +- .../docs-html/input/input-with-dropdown.tsx | 4 +- .../input/input-with-helper-text.tsx | 2 +- .../docs-html/input/input-with-icon.tsx | 4 +- .../docs-html/input/input-with-label.tsx | 2 +- .../docs-html/input/input-with-validation.tsx | 4 +- .../docs-html/navbar/complex-navbar.tsx | 6 +- .../docs-html/navbar/dark-navbar.tsx | 2 +- .../docs-html/navbar/navbar-demo.tsx | 2 +- .../navbar/navbar-with-mega-menu.tsx | 6 +- .../docs-html/navbar/navbar-with-search.tsx | 4 +- .../docs-html/navbar/simple-navbar.tsx | 2 +- .../docs-html/navbar/sticky-navbar.tsx | 2 +- .../docs-html/switch/custom-switch.tsx | 2 +- .../docs-html/table/members-table.tsx | 20 +++--- .../docs-html/table/sortable-table.tsx | 20 +++--- .../docs-html/table/transactions-table.tsx | 12 ++-- .../textarea/chatbox-with-textarea.tsx | 2 +- .../textarea/comment-box-with-textarea.tsx | 2 +- .../docs-html/textarea/textarea-colors.tsx | 12 ++-- .../docs-html/textarea/textarea-demo.tsx | 2 +- .../docs-html/textarea/textarea-disabled.tsx | 2 +- .../docs-html/textarea/textarea-sizes.tsx | 6 +- .../textarea/textarea-with-helper-text.tsx | 2 +- .../textarea/textarea-with-label.tsx | 2 +- .../textarea/textarea-with-validation.tsx | 4 +- .../docs/card/background-blog-card.tsx | 4 +- .../src/components/docs/card/booking-card.tsx | 16 ++--- .../components/docs/card/horizontal-card.tsx | 2 +- .../components/docs/card/testimonial-card.tsx | 2 +- .../docs/dialog/dialog-with-image.tsx | 2 +- .../docs/input/input-custom-styles.tsx | 2 +- .../docs/menu/menu-with-divider.tsx | 2 +- .../src/components/docs/menu/nav-menu.tsx | 2 +- .../src/components/docs/menu/profile-menu.tsx | 2 +- .../components/docs/navbar/complex-navbar.tsx | 6 +- .../components/docs/navbar/dark-navbar.tsx | 2 +- .../components/docs/navbar/navbar-demo.tsx | 2 +- .../docs/navbar/navbar-with-mega-menu.tsx | 6 +- .../docs/navbar/navbar-with-search.tsx | 2 +- .../components/docs/navbar/simple-navbar.tsx | 2 +- .../components/docs/navbar/sticky-navbar.tsx | 2 +- .../docs/plugins/carousel/carousel-demo.tsx | 8 +-- .../plugins/text-editor/text-editor-demo.tsx | 4 +- .../docs/popover/popover-with-image.tsx | 2 +- .../docs/timeline/activities-timeline.tsx | 6 +- apps/site/src/components/layout/navbar.tsx | 12 ++-- apps/site/src/components/layout/sidenav.tsx | 4 +- apps/site/src/components/layout/toc.tsx | 4 +- apps/site/src/components/theme-toggle.tsx | 4 +- packages/html/package.json | 6 +- packages/react/package.json | 6 +- packages/react/src/theme/alert.ts | 14 ++-- packages/react/src/theme/button-group.ts | 2 +- packages/react/src/theme/button.ts | 22 +++--- packages/react/src/theme/card.ts | 14 ++-- packages/react/src/theme/checkbox.ts | 2 +- packages/react/src/theme/chip.ts | 18 ++--- packages/react/src/theme/dialog.ts | 8 +-- packages/react/src/theme/drawer.ts | 8 +-- packages/react/src/theme/icon-button.ts | 10 +-- packages/react/src/theme/input.ts | 8 +-- packages/react/src/theme/menu.ts | 6 +- packages/react/src/theme/navbar.ts | 12 ++-- packages/react/src/theme/popover.ts | 6 +- packages/react/src/theme/radio.ts | 2 +- packages/react/src/theme/select.tsx | 12 ++-- packages/react/src/theme/slider.ts | 2 +- packages/react/src/theme/tabs.ts | 4 +- packages/react/src/theme/textarea.ts | 8 +-- packages/react/src/theme/tooltip.ts | 6 +- 146 files changed, 809 insertions(+), 506 deletions(-) diff --git a/apps/site/package.json b/apps/site/package.json index 8ef33c2f4..4b801b0c5 100644 --- a/apps/site/package.json +++ b/apps/site/package.json @@ -3,7 +3,7 @@ "version": "2.0.0", "description": "Material Tailwind is an easy-to-use components library for Tailwind CSS inspired by Material Design.", "scripts": { - "dev": "next dev --port 3001", + "dev": "next dev --port 3000", "build": "next build", "start": "next start", "lint": "next lint" @@ -57,16 +57,16 @@ "zod": "3.22.4" }, "devDependencies": { + "@tailwindcss/postcss": "4.1.11", "@types/node": "20.11.24", "@types/react": "18.2.61", "@types/react-dom": "18.2.19", - "autoprefixer": "10.4.13", "eslint-config-custom": "workspace:*", "next-sitemap": "3.1.44", "postcss": "8.4.8", "prettier": "3.1.1", "prompts": "2.4.2", - "tailwindcss": "3.4.13", + "tailwindcss": "4.1.11", "tailwindcss-animate": "1.0.7", "tsconfig": "workspace:*", "typescript": "5.2.2" diff --git a/apps/site/postcss.config.js b/apps/site/postcss.config.js index 33ad091d2..52b9b4baf 100644 --- a/apps/site/postcss.config.js +++ b/apps/site/postcss.config.js @@ -1,6 +1,5 @@ module.exports = { plugins: { - tailwindcss: {}, - autoprefixer: {}, + '@tailwindcss/postcss': {}, }, } diff --git a/apps/site/src/app/docs/[...slug]/page.tsx b/apps/site/src/app/docs/[...slug]/page.tsx index 7b701f797..3297e9965 100644 --- a/apps/site/src/app/docs/[...slug]/page.tsx +++ b/apps/site/src/app/docs/[...slug]/page.tsx @@ -167,7 +167,7 @@ const highlight = { name: "highlight", MultilineAnnotation: ({ children }) => { return ( - + {children} ); diff --git a/apps/site/src/app/docs/content/html/accordion.mdx b/apps/site/src/app/docs/content/html/accordion.mdx index 176fb7fe2..7e2f1073f 100644 --- a/apps/site/src/app/docs/content/html/accordion.mdx +++ b/apps/site/src/app/docs/content/html/accordion.mdx @@ -208,21 +208,21 @@ export function ControlledAccordion() {
-
+
-
+
diff --git a/apps/site/src/app/docs/content/html/button.mdx b/apps/site/src/app/docs/content/html/button.mdx index f8a08f9c1..d9781a3de 100644 --- a/apps/site/src/app/docs/content/html/button.mdx +++ b/apps/site/src/app/docs/content/html/button.mdx @@ -59,7 +59,7 @@ See our button examples below. They come in different styles like ghost, outline @@ -251,7 +251,7 @@ Use this example to create buttons with icons, you can use any type of icons ins @@ -429,7 +429,7 @@ You can use the `a` tag instead of the button tag to create a button that works Gradient @@ -532,7 +532,7 @@ Use this example to create buttons with a loading state. You can use the `animat
- - -
@@ -334,7 +334,7 @@ Use this card example for building login pages where users need to enter their c
@@ -563,14 +563,14 @@ This card example is ideal for highlighting recent or featured posts on a blog.
- - - - - - - @@ -873,7 +873,7 @@ Use this example if you want to display client testimonials or customer feedback }> ```html -
+
}> ```html -
+
-
+
Gradient @@ -255,7 +255,7 @@ The icons, in this example, add a visual element that can improve user understan Solid
-
+
- +
- -
@@ -362,7 +362,7 @@ Use this example if you want to clearly indicate to users that the input field i > @@ -384,7 +384,7 @@ Check out this example to learn how you can implement custom styles for your inp
diff --git a/apps/site/src/app/docs/content/html/navbar.mdx b/apps/site/src/app/docs/content/html/navbar.mdx index 743efcf18..48d57e037 100644 --- a/apps/site/src/app/docs/content/html/navbar.mdx +++ b/apps/site/src/app/docs/content/html/navbar.mdx @@ -22,7 +22,7 @@ Use this simple navbar example with navigational links and buttons that get the }> ```html -