0.59.4 • Published 21 days ago

@unocss/transformer-directives v0.59.4

Weekly downloads
-
License
MIT
Repository
github
Last release
21 days ago

@unocss/transformer-directives

UnoCSS transformer for @apply@screen and theme() directive

Install

npm i -D @unocss/transformer-directives
// uno.config.ts
import { defineConfig } from 'unocss'
import transformerDirectives from '@unocss/transformer-directives'

export default defineConfig({
  // ...
  transformers: [
    transformerDirectives(),
  ],
})

Usage

@apply

.custom-div {
  @apply text-center my-0 font-medium;
}

Will be transformed to:

.custom-div {
  margin-top: 0rem;
  margin-bottom: 0rem;
  text-align: center;
  font-weight: 500;
}

CSS Variable Style

To be compatible with vanilla CSS, you can use CSS custom properties to replace the @apply directive.

.custom-div {
  --at-apply: text-center my-0 font-medium;
}

To use rules with :, you will need to quote the value

.custom-div {
  --at-apply: "hover:text-red";
}

This feature is enabled by default with a few alias, you can configure or disable it via:

transformerDirectives({
  // the defaults
  applyVariable: ['--at-apply', '--uno-apply', '--uno'],
  // or disable with:
  // applyVariable: false
})

@screen

The @screen directive allows you to create media queries that reference your breakpoints by name comes from theme.breakpoints.

.grid {
  --uno: grid grid-cols-2;
}
@screen xs {
  .grid {
    --uno: grid-cols-1;
  }
}
@screen sm {
  .grid {
    --uno: grid-cols-3;
  }
}
/* ... */
...

Will be transformed to:

.grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 320px) {
  .grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media (min-width: 640px) {
  .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* ... */

Breakpoint Variant Support

@screen also supports ltat variants

@screen lt
.grid {
  --uno: grid grid-cols-2;
}
@screen lt-xs {
  .grid {
    --uno: grid-cols-1;
  }
}
@screen lt-sm {
  .grid {
    --uno: grid-cols-3;
  }
}
/* ... */

Will be transformed to:

.grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 319.9px) {
  .grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media (max-width: 639.9px) {
  .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* ... */
@screen at
.grid {
  --uno: grid grid-cols-2;
}
@screen at-xs {
  .grid {
    --uno: grid-cols-1;
  }
}
@screen at-xl {
  .grid {
    --uno: grid-cols-3;
  }
}
@screen at-xxl {
  .grid {
    --uno: grid-cols-4;
  }
}
/* ... */

Will be transformed to:

.grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 320px) and (max-width: 639.9px) {
  .grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media (min-width: 1280px) and (max-width: 1535.9px) {
  .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1536px) {
  .grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
/* ... */

theme()

Use the theme() function to access your theme config values using dot notation.

.btn-blue {
  background-color: theme('colors.blue.500');
}

Will be compiled to:

.btn-blue {
  background-color: #3b82f6;
}

License

MIT License © 2022-PRESENT hannoeru

0.59.4

21 days ago

0.59.3

23 days ago

0.59.2

27 days ago

0.59.1

28 days ago

0.59.0

1 month ago

0.59.0-beta.1

1 month ago

0.58.9

1 month ago

0.58.8

1 month ago

0.58.7

1 month ago

0.58.6

2 months ago

0.58.5

3 months ago

0.58.4

3 months ago

0.58.3

4 months ago

0.58.2

4 months ago

0.58.1

4 months ago

0.55.6

8 months ago

0.55.7

8 months ago

0.55.4

8 months ago

0.55.5

8 months ago

0.55.2

9 months ago

0.55.3

9 months ago

0.55.0

9 months ago

0.55.1

9 months ago

0.56.5

7 months ago

0.56.3

8 months ago

0.56.4

8 months ago

0.56.1

8 months ago

0.56.2

8 months ago

0.56.0

8 months ago

0.53.6

10 months ago

0.53.5

10 months ago

0.54.3

9 months ago

0.54.1

9 months ago

0.54.2

9 months ago

0.54.0

10 months ago

0.57.4

6 months ago

0.57.5

6 months ago

0.57.2

6 months ago

0.57.3

6 months ago

0.57.0

7 months ago

0.57.1

7 months ago

0.57.6

6 months ago

0.57.7

6 months ago

0.58.0

5 months ago

0.53.4

11 months ago

0.51.13

12 months ago

0.52.7

11 months ago

0.52.5

11 months ago

0.52.6

11 months ago

0.52.3

12 months ago

0.52.4

12 months ago

0.52.1

12 months ago

0.52.2

12 months ago

0.52.0

12 months ago

0.53.3

11 months ago

0.53.0

11 months ago

0.53.1

11 months ago

0.51.8

1 year ago

0.51.6

1 year ago

0.51.7

1 year ago

0.51.4

1 year ago

0.51.5

1 year ago

0.51.12

1 year ago

0.51.2

1 year ago

0.51.3

1 year ago

0.51.0

1 year ago

0.51.1

1 year ago

0.50.7

1 year ago

0.50.8

1 year ago

0.50.5

1 year ago

0.50.6

1 year ago

0.49.8

1 year ago

0.50.3

1 year ago

0.50.4

1 year ago

0.50.1

1 year ago

0.50.2

1 year ago

0.50.0

1 year ago

0.48.2

1 year ago

0.48.3

1 year ago

0.48.1

1 year ago

0.48.4

1 year ago

0.48.5

1 year ago

0.49.1

1 year ago

0.49.2

1 year ago

0.49.0

1 year ago

0.49.7

1 year ago

0.49.5

1 year ago

0.49.6

1 year ago

0.49.3

1 year ago

0.49.4

1 year ago

0.48.0

1 year ago

0.47.6

1 year ago

0.47.3

1 year ago

0.47.4

1 year ago

0.47.1

1 year ago

0.47.2

1 year ago

0.47.0

1 year ago

0.47.5

1 year ago

0.46.4

1 year ago

0.46.5

1 year ago

0.46.2

2 years ago

0.46.3

2 years ago

0.46.0

2 years ago

0.46.1

2 years ago

0.45.30

2 years ago

0.45.28

2 years ago

0.45.29

2 years ago

0.45.19

2 years ago

0.45.20

2 years ago

0.45.21

2 years ago

0.45.22

2 years ago

0.45.23

2 years ago

0.45.24

2 years ago

0.45.25

2 years ago

0.45.26

2 years ago

0.45.12

2 years ago

0.45.13

2 years ago

0.45.14

2 years ago

0.45.15

2 years ago

0.45.18

2 years ago

0.45.9

2 years ago

0.45.7

2 years ago

0.45.8

2 years ago

0.45.5

2 years ago

0.45.6

2 years ago

0.45.3

2 years ago

0.45.4

2 years ago

0.45.1

2 years ago

0.43.0

2 years ago

0.44.7

2 years ago

0.44.4

2 years ago

0.44.5

2 years ago

0.44.2

2 years ago

0.44.3

2 years ago

0.44.0

2 years ago

0.44.1

2 years ago

0.40.0

2 years ago

0.41.1

2 years ago

0.41.2

2 years ago

0.41.0

2 years ago

0.42.0

2 years ago

0.42.1

2 years ago

0.43.1

2 years ago

0.43.2

2 years ago

0.38.2

2 years ago

0.39.1

2 years ago

0.39.0

2 years ago

0.39.3

2 years ago

0.39.2

2 years ago

0.38.1

2 years ago

0.38.0

2 years ago

0.36.0

2 years ago

0.34.1

2 years ago

0.37.3

2 years ago

0.37.2

2 years ago

0.35.4

2 years ago

0.37.1

2 years ago

0.35.3

2 years ago

0.37.0

2 years ago

0.35.2

2 years ago

0.35.1

2 years ago

0.35.0

2 years ago

0.37.4

2 years ago

0.31.10

2 years ago

0.31.12

2 years ago

0.31.13

2 years ago

0.31.14

2 years ago

0.31.15

2 years ago

0.31.16

2 years ago

0.31.17

2 years ago

0.32.8

2 years ago

0.32.7

2 years ago

0.34.0

2 years ago

0.32.1

2 years ago

0.32.9

2 years ago

0.32.0

2 years ago

0.32.13

2 years ago

0.32.12

2 years ago

0.32.11

2 years ago

0.31.9

2 years ago

0.31.8

2 years ago

0.33.5

2 years ago

0.33.4

2 years ago

0.31.6

2 years ago

0.31.5

2 years ago

0.33.2

2 years ago

0.33.1

2 years ago

0.31.3

2 years ago

0.33.0

2 years ago

0.31.2

2 years ago

0.30.13

2 years ago

0.31.0

2 years ago

0.30.8

2 years ago

0.30.7

2 years ago

0.30.6

2 years ago

0.30.5

2 years ago

0.30.4

2 years ago

0.30.3

2 years ago

0.30.10

2 years ago

0.30.11

2 years ago

0.30.12

2 years ago

0.30.2

2 years ago

0.30.1

2 years ago

0.30.0

2 years ago

0.29.6

2 years ago

0.29.5

2 years ago

0.29.0

2 years ago

0.28.1

2 years ago

0.28.0

2 years ago

0.29.4

2 years ago

0.27.6

2 years ago

0.29.3

2 years ago

0.27.5

2 years ago

0.29.2

2 years ago

0.28.3

2 years ago

0.27.4

2 years ago

0.29.1

2 years ago

0.28.2

2 years ago

0.27.3

2 years ago

0.27.2

2 years ago

0.26.3

2 years ago

0.27.1

2 years ago

0.27.0

2 years ago

0.26.4

2 years ago

0.26.2

2 years ago

0.26.1

2 years ago

0.26.0

2 years ago