Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(tailwind): Upgrade Tailwind theme conversion for v3.0 #2082

Merged
merged 2 commits into from
Jan 30, 2022

Conversation

lachlanjc
Copy link
Member

@lachlanjc lachlanjc commented Jan 17, 2022

The tailwind package was still designed for Tailwind v1, which is now v3. I've updated the package to convert arrays to objects so they're more usable in a theme, as well as supporting Theme UI breakpoints.

For testing, Tailwind seemingly no longer has an option to generate all the classes for the snapshot; it now only generates classes it sees used in your source code. I pulled in an example Tailwind page & find-replaced some classnames with keys from our theme, so it would generate a few hundred lines of results. Not perfect, but functioning.

📦 Published PR as canary version: 0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0

✨ Test out this PR locally via:

npm install @theme-ui/color-modes@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/color@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/components@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/core@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/css@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/custom-properties@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/editor@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install gatsby-plugin-theme-ui@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install gatsby-theme-style-guide@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install gatsby-theme-ui-layout@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/match-media@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/mdx@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/parse-props@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/preset-base@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/preset-bootstrap@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/preset-bulma@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/preset-dark@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/preset-deep@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/preset-funk@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/preset-future@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/preset-polaris@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/preset-roboto@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/preset-sketchy@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/preset-swiss@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/preset-system@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/preset-tailwind@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/preset-tosh@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/presets@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/prism@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/sidenav@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/style-guide@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/tailwind@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/theme-provider@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install theme-ui@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
npm install @theme-ui/typography@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
# or 
yarn add @theme-ui/color-modes@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/color@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/components@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/core@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/css@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/custom-properties@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/editor@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add gatsby-plugin-theme-ui@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add gatsby-theme-style-guide@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add gatsby-theme-ui-layout@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/match-media@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/mdx@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/parse-props@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/preset-base@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/preset-bootstrap@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/preset-bulma@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/preset-dark@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/preset-deep@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/preset-funk@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/preset-future@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/preset-polaris@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/preset-roboto@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/preset-sketchy@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/preset-swiss@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/preset-system@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/preset-tailwind@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/preset-tosh@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/presets@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/prism@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/sidenav@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/style-guide@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/tailwind@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/theme-provider@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add theme-ui@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0
yarn add @theme-ui/typography@0.14.0--canary.2082.dcc4b46f0b087ba0af01a6353cb47648ceb35d58.0

Version

Published prerelease version: v0.14.0-develop.9

Changelog

🎉 This release contains work from a new contributor! 🎉

Thank you, Brage (@braaar), for all your work!

🚀 Enhancement

  • feat(examples/next): Add new deps, fully use TSX, rebuild #2068 (@lachlanjc)
  • @theme-ui/tailwind
    • feat(tailwind): Upgrade Tailwind theme conversion for v3.0 #2082 (@lachlanjc)
  • @theme-ui/custom-properties
    • feat(custom-properties): Warn in development on invalid theme keys #2080 (@lachlanjc)
  • @theme-ui/color-modes
    • feat(color-modes): Warn when theme color keys have leading/trailing whitespace #2099 (@lachlanjc)
  • theme-ui

🐛 Bug Fix

👨‍💻 Minor changes

  • docs(examples/next): fix case insensitive import (@hasparus)

🏠 Internal

Authors: 4

@lachlanjc lachlanjc added the enhancement New feature or request label Jan 17, 2022
@lachlanjc lachlanjc requested a review from hasparus January 17, 2022 03:17
@vercel
Copy link

vercel bot commented Jan 17, 2022

This pull request is being automatically deployed with Vercel (learn more).
To see the status of your deployment, click below or on the icon next to each commit.

🔍 Inspect: https://vercel.com/systemui/theme-ui/6bfMQPEtLQA5jgbuBJX5gVBUa8mH
✅ Preview: https://theme-ui-git-lachlanjc-tw3-systemui.vercel.app

@hasparus
Copy link
Member

Wow, you're on fire!

@hasparus
Copy link
Member

This should get a piece of user facing changelog, right?

@codesandbox-ci
Copy link

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 3ded464:

Sandbox Source
next-theme-ui-example Configuration
system-ui/theme-ui Configuration

Copy link
Member

@hasparus hasparus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@hasparus
Copy link
Member

🚀 PR was released in v0.14.0 🚀

@hasparus hasparus added released This issue/pull request has been released. and removed prerelease This change is available in a prerelease. labels Mar 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request released This issue/pull request has been released.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants