0.0.3 • Published 2 years ago

@stellaestudio/css-tailwind-preset v0.0.3

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
2 years ago

@stellaestudio/css-tailwind-preset

Ready2order Design System - Foundation Tailwind preset

Install package

After installing npm or yarn, you can install @stellaestudio/css with this command:

# with npm
npm i -S @stellaestudio/css-tailwind-preset

# with yarn
yarn add @stellaestudio/css-tailwind-preset

Install fonts

Shown below is a sample link markup used to load from a CDN:

<link
  rel="stylesheet"
  href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Roboto+Condensed:ital,wght@0,400;0,700;1,700&display=swap"
/>

You can also do it via CSS Import:

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Roboto+Condensed:ital,wght@0,400;0,700;1,700&display=swap');

Otherwise, you can install them with typeface:

# with npm
npm i -S typeface-roboto typeface-roboto-condensed

# with yarn
yarn add typeface-roboto typeface-roboto-condensed

Then, you can import them in your entry-point:

import 'typeface-roboto';
import 'typeface-roboto-condensed';

Install icons (optional)

If you need to display icons, you will need to install @stellaestudio/r2icons package.

# with npm
npm i -S @stellaestudio/r2icons

# with yarn
yarn add @stellaestudio/r2icons

Then follow instructions in README of @stellaestudio/r2icons :

import '@stellaestudio/r2icons/dist/r2icon/font/r2icon.css';

Or you can also import it with a CDN like unpkg.com with this file.

Development

If you are there, it's probably because you already use Tailwind CSS in your project. If you want to take full advantage of all its features like functions & directives by building your own classes via @apply for example inherited from the Foundation CSS styles, you are at the right place!

If you don't have Tailwind CSS and you are interested, you can install it by following this documentation. If not, we encourage you to simply you our @stellaestudio/css package which will give you all the different Foundation styles without the need to build them with Tailwind CSS.

In order to use our Tailwind preset, simply add this line inside your tailwind.config.js file:

TailwindCSS v2

module.exports = {
  presets: [require('@stellaestudio/css-tailwind-preset')],
  // ...
};

TailwindCSS v3

module.exports = {
  presets: [require('@stellaestudio/css-tailwind-preset')],
  theme: {
    colors: {
      current: 'currentColor',
    },
  },
};

Then import files inside your CSS entry point:

@import 'tailwindcss/base'; /* import base CSS classes from Tailwind CSS (optional) */
@import '@stellaestudio/css-design-tokens/dist/index.css'; /* import Foundation design tokens CSS classes (required) */
@import '@stellaestudio/css-utilities/dist/index.css'; /* import Foundation utilities CSS classes (required) */
@import 'tailwindcss/components'; /* import components CSS classes from Tailwind CSS (optional) */
@import 'tailwindcss/utilities'; /* import utilities CSS classes from Tailwind CSS (optional) */
@import 'tailwindcss/screens'; /* import screens CSS classes from Tailwind CSS (optional) */
@import '@stellaestudio/css/dist/components.css'; /* import Foundation components CSS classes (required) */

You will need a plugin to understand @import statements. If you use PostCSS, you can use postcss-import.

For more details about Tailwind presets, see Tailwind CSS documentation about presets here.

Important: our Taiwind CSS preset has a prefix in order to avoid conflicts with existing Tailwind CSS project. So, to use our library, you will have to prefix all CSS utility classes with r2o-.

For example:

<div
  class="r2o-flex r2o-bg-brand-digital-light-3 r2o-rounded-lg r2o-p-6 r2o-mb-5"
>
  <p class="r2o-text-xl r2o-text-center r2o-font-semibold r2o-text-black">
    Hello
    <span class="r2o-text-brand-digital r2o-text-2xl">World!</span>
  </p>
</div>

For more details about CSS utility classes from this package, see Tailwind CSS documentation here.

Optimizing for production

To make the development experience as productive as possible, Tailwind generates thousands of utility classes for you, most of which you probably won't actually use.

When building for production, you should always use PurgeCSS to tree-shake unused styles and optimize your final build size.

For more details about this, see Tailwind CSS documentation about optimizing for production here.

Base 10 support

If your project uses the mathematical trick of basing the value of 1rem equals 10px, you can import files like this instead:

@import 'tailwindcss/base'; /* import base CSS classes from Tailwind CSS (optional) */
@import '@stellaestudio/css-design-tokens/dist/index-base10.css'; /* import Foundation design tokens CSS classes (required) */
@import '@stellaestudio/css-utilities/dist/index-base10.css'; /* import Foundation utilities CSS classes (required) */
@import 'tailwindcss/components'; /* import components CSS classes from Tailwind CSS (optional) */
@import 'tailwindcss/utilities'; /* import utilities CSS classes from Tailwind CSS (optional) */
@import 'tailwindcss/screens'; /* import screens CSS classes from Tailwind CSS (optional) */
@import '@stellaestudio/css/dist/components-base10.css'; /* import Foundation components CSS classes (required) */

You will need a plugin to understand @import statements. If you use PostCSS, you can use postcss-import.